פרק 7 ביצוע-חוזר 7.1 ביצוע-חוזר מספר פעמים ידוע מראש 1 בעיה הביצוע-החוזר.

Size: px
Start display at page:

Download "פרק 7 ביצוע-חוזר 7.1 ביצוע-חוזר מספר פעמים ידוע מראש 1 בעיה הביצוע-החוזר."

Transcription

1 פרק 7 ביצוע-חוזר עד כה הכרנו בעיות אשר לשם פתרונן ביצענו מספר תת-משימות שונות, באופן סדרתי. כלומר כל תת-משימה בסדרה בוצעה פעם אחת (ואם זו משימה שביצועה תלוי בתנאי, ייתכן שלא בוצעה אפילו פעם אחת). אולם יש בעיות אשר לצורך פתרונן יש לבצע תת-משימה אחת, או כמה תת- משימות, יותר מפעם אחת, ואולי אף מספר רב של פעמים. בפרק זה נכיר אלגוריתמים אשר מורים על חזרה שוב ושוב על ביצוע של תת-משימה (או תת-משימות). אלגוריתמים אלה כוללים הוראה לביצוע-חוזר של קבוצת הוראות. בסעיף 7.1 נכיר אלגוריתמים שמבנה הביצוע-החוזר בהם הוא פשוט. באלגוריתמים אלה מספר הפעמים של הביצוע-החוזר נקבע לפני תחילת ביצועו. בסעיף 7.4 נכיר אלגוריתמים שמבנה הביצוע-החוזר בהם מורכב יותר. באלגוריתמים אלה מספר הפעמים של הביצוע-החוזר לא נקבע מראש, אלא תלוי בתנאי אשר נבדק שוב ושוב במהלך הביצוע-החוזר. 7.1 ביצוע-חוזר מספר פעמים ידוע מראש 1 בעיה מטרת הבעיה ופתרונה: הצגת אלגוריתם הכולל הוראה לביצוע-חוזר מספר פעמים ידוע מראש. עלינו להמיר רשימת מחירים מייצוג בדולרים לייצוג בשקלים. פתחו וישמו אלגוריתם אשר הקלט שלו הוא שער ההמרה מדולרים לשקלים ואחריו רשימה של עשרה מחירים הנתונים בדולרים. הפלט שלו הוא הערך בשקלים של כל אחד מעשרת המחירים. הפלט עבור כל מחיר צריך להינתן מיד אחרי קליטתו ולפני קליטת המחיר הבא. פירוק הבעיה לתת-משימות.1.2? קליטת שער ההמרה מדולרים לשקלים קליטת כל אחד מעשרת המחירים בדולרים, חישוב ערכו בשקלים והצגת הערך המחושב ניתן לפרט את התת-משימה השנייה. כיצד? התת-משימה השנייה מורכבת בעצם מביצוע-חוזר, עשר פעמים, של התת-משימות הבאות: 2.1 קליטת מחיר בדולרים 2.2 חישוב ערכו של המחיר בשקלים 2.3 הצגה של הערך המחושב דרך אחת להורות על ביצוע החוזר עשר פעמים על התת-משימות שניסחנו, היא כמובן לכתוב אותן עשר פעמים, כך: 2.1. קליטת מחיר בדולרים חישוב ערכו של המחיר בשקלים הצגה של הערך המחושב קליטת מחיר בדולרים חישוב ערכו של המחיר בשקלים 2.6. הצגה של הערך המחושב

2 קליטת מחיר בדולרים חישוב ערכו של המחיר בשקלים הצגה של הערך המחושב זהו ניסוח מסורבל כמובן. עבור רשימה של עשרה מחירים נכתבות שלושים הוראות. עבור רשימה של מאה מחירים ייכתבו 300 הוראות. ובעצם, עבור רשימות מחירים באורכים שונים ייכתבו אלגוריתמים שבהם מספר הוראות שונה. כלומר, לא רק שמדובר באלגוריתמים ארוכים מאוד, יש צורך לבצע שינוי משמעותי (מספר המחירים), אלא שעבור שינוי קטן בהגדרת הבעיה באלגוריתם. האם ניתן להימנע מן הסרבול המתואר? האם ניתן לכתוב אלגוריתם שבו יהיה אותו מספר הוראות עבור רשימות מחירים באורכים שונים? אכן ניתן באמצעות הוראה לביצוע-חוזר לקבוצת הוראות. בפתרון הבעיה הנוכחית שבה יש להמיר עשרה מחירים ניתן להשתמש בהוראה הבאה לביצוע-חוזר: :íéîòô 10 íéøìåãá øéçî èåì íéì ùá øéçîä ìù åëøò úà áùç áùåçîä êøòä úà âöä òöá עבור רשימה של 100 מחירים ניתן לכתוב אלגוריתם הכולל הוראה לביצוע-חוזר במבנה זהה, אלא שמספר הפעמים המצוין בו בכותרת ההוראה הוא 100 במקום 10. שימו להזחה בהוראה לביצוע-חוזר. בהוראה זו (כמו בהוראה לביצוע-בתנאי) אנו מזיחים פנימה את קבוצת ההוראה לביצוע-חוזר. בחירת משתנים נשתמש במשתנים הבאים מטיפוס ממשי: rate ישמור את שער ההמרה מדולרים לשקלים. dollarprice ישמור מחיר בדולרים ישמור את ערכו בשקלים של המחיר השמור ב- dollarprice shekelprice íùäå האלגוריתם rate-á äøîä øòù èåì :íéîòô 10 dollarprice-á øéçî èåì dollarprice-á øåîùä øéçîä ìù íéì ùá åëøò úà áùç shekelprice-á shekelprice ìù åëøò úà âöä òöá

3 יישום האלגוריתם הוראה לביצוע-חוזר במבנה של...íéîòô øôñî òöá מיושמת ב-# C במשפט.for משפט למשל אם ברצוננו לבצע קבוצת for (i = 1; i <= 10; i++) ההוראות לביצוע } for משתמש במשתנה בקרה, אשר שולט בביצוע הלולאה. הוראות 10 פעמים, נכתוב משפט for בצורה הבאה: משתנה הבקרה במשפט זה הוא i. ערכו מאותחל ב- 1 (כפי שמורה משפט ההשמה = 1 i, המהווה את הרכיב הראשון בסוגריים). אחרי שסדרת ההוראות לביצוע מתבצעת פעם אחת ערכו של משתנה הבקרה גדל ב- 1 (על כך מורה הרכיב השלישי בסוגריים: ++i), והביצוע-החוזר יימשך כל עוד ערכו של i קטן או שווה ל- 10 (כפי שמורה התנאי => 10 i, הרכיב השני בסוגריים). אם כך בתחילת הביצוע של משפט ה- for, i יאותחל ב- 1. אחרי שקבוצת ההוראות לביצוע תבוצע פעם אחת, ערכו יגדל ל- 2. אחרי שקבוצת ההוראות תבוצע פעם שנייה, ערכו יגדל ל- 3. אחרי שקבוצת ההוראות תבוצע פעם עשירית, ערכו כבר יהיה 11, ואז יסתיים הביצוע-החוזר, משום שערכו של התנאי => 10 i יהיה.false באופן כללי, בביצוע משפט for מושם ערך התחלתי במשתנה הבקרה לפי הרכיב הראשון במשפט. לאחר מכן מתבצעת בדיקת התנאי, המתואר ברכיב השני. אם ערכו של התנאי הוא true מתבצעות ההוראות לביצוע. בתום ביצוע קבוצת ההוראות גדל ערכו של משתנה הבקרה לפי הרכיב השלישי. כעת מתבצעת שוב בדיקת התנאי. אם ערכו של התנאי הוא true מתבצעת שוב קבוצת ההוראות וכך הלאה, עד אשר ערכו של התנאי הוא false ואז מסתיים הביצוע. באופן דומה, ניתן היה לבחור גם במשפט ה- for הבא ליישום ההוראה לביצוע-חוזר באלגוריתם: for (i = 0; i < 10; i++) הוראות לביצוע } גם במקרה זה ההוראות לביצוע מתבצעות 10 פעמים: פעם אחת כאשר ערכו של i שווה ל- 0, פעם שנייה כאשר ערכו שווה ל- 1, פעם שלישית כאשר ערכו שווה ל- 2, ובפעם העשירית ואחרונה כאשר ערכו של i שווה ל- 9. כאשר ערכו של i גדל שוב, ומגיע ל- 10, התנאי להמשך הביצוע כבר לא מתקיים, והביצוע-החוזר מסתיים. שימו : ההוראה ++i היא למעשה הוראת השמה מקוצרת. היא שקולה להוראת ההשמה:.for ניתן להשתמש בהוראה זו בכל מקום בתוכנית, לאו דווקא במשפט i. = i + 1 התוכנית המלאה /* הקלט: שער ההמרה מדולרים לשקלים ורשימה של 10 מחירים בדולרים הפלט: הערכים השקליים של 10 המחירים הנתונים בדולרים */ using System; public class Convertor public static void Main () קבוע : מספר המחירים הנקראים מהקלט // HOW_MANY=10; const int

4 double rate; שער ההמרה// dollarprice; double מחיר בדולרים// shekelprice; double מחיר בשקלים// int i; משתנה בקרה// קלט // 1. Console.Write("Enter the rate: "); 2. rate = double.parse(console.readline()); // ההוראה לביצוע-חוזר 3. for (i = 1; i <= HOW_MANY; i++) 3.1. Console.Write("Enter price in Dollars: "); 3.2. dollarprice = double.parse(console.readline()); 3.3. shekelprice = dollarprice * rate; 3.4. Console.WriteLine("Price in Shekels is 0}", shekelprice); }// for }// Main }// Convertor מעקב בטבלת מעקב הכוללת משפט for נכלול עמודה עבור משתנה הבקרה של המשפט. בתוכנית לפתרון בעיה 1, ערכו של משתנה הבקרה i גדל ב- 1 אחרי כל ביצוע של קבוצת ההוראות הכלולה במשפט ה- for. ערכו בביצוע-החוזר הראשון הוא 1 וערכו בביצוע-החוזר האחרון הוא 10. בנוסף לכך, טבלת המעקב תכלול עמודה עבור התנאי הבוליאני שבכותרת המשפט. נעקוב אחר ביצוע התוכנית עבור הקלט הבא: שער ההמרה הוא 3, ועשרת המחירים להמרה הם: כדי להימנע מהצגת טבלה ארוכה מדי, תכלול הטבלה הבאה מעקב רק אחרי עיבוד שני המחירים הראשונים והמחיר האחרון שבקלט. המשפט לביצוע i i<=10 rate dollar shekel פלט Console.Write("Enter the rate:");???? Enter the rate rate = double.parse(console.? 3?? ReadLine()); for (i = 1; i <= 10; i++) 1 true 3?? Console.Write("Enter price in 1 3?? Enter Dollars: "); price dollarprice = double.parse( ? Console.ReadLine()); shekelprice = dollarprice * rate; Console.WriteLine("Price in Shekels is 0}",shekelPrice); for (i = 1; i <= 10; i++) Console.Write("Enter price in Dollars: "); dollarprice = double.parse( Console.ReadLine()); shekelprice = dollarprice * true Price in Shekels is 30.3 Enter price

5 rate; Console.WriteLine("Price in Shekels is 0}",shekelPrice); for (i = 1; i <= 10; i++) Console.Write("Enter price in Dollars: "); dollarprice = double.parse( Console.ReadLine()); shekelprice = dollarprice * rate; Console.WriteLine("Price in Shekels is 0}",shekelPrice); for (i = 1; i <= 10; i++) true false Price in Shekels is 15 Enter price Price in Shekels is 300 שימו לב לשינויים שחלים בערכו של משתנה הבקרה i ולבדיקת התנאי של משתנה הבקרה. נציג את המושגים החדשים שהכרנו בפתרון לבעיה 1. הוראה לביצוע-חוזר סוף במבנה פתרון בעיה 1 øôñî òöá באלגוריתם לפתרון הבעיה כללנו...íéîòô כדי לציין ביצוע-חוזר של תת-משימה. הוראה זו מורה על ביצוע-חוזר של קבוצת הוראות מספר פעמים. הוראה לביצוע-חוזר היא הוראת בקרה. הוראה לביצוע-חוזר נקראת גוף הלולאה. גם לולאה,(loop) וקבוצת ההוראות לביצוע הכלולות בה נקראת בדומה לכתיבה של הוראה לביצוע-בתנאי גם כתיבה של הוראה לביצוע-חוזר נעשית תוך הקפדה על הזחה מתאימה: קבוצת ההוראות שיש לחזור על ביצוען מוזחת פנימה. בשפת #C מיושמת הוראה לביצוע-חוזר במבנה זה במשפט.for זהו המבנה הכללי של משפט for בשפת #C: (שינוי משתנה הבקרה ;התנאי להמשך הביצוע ;אתחול משתנה הבקרה) for הוראות לביצוע } אתחול משתנה הבקרה: הוראת השמה הקובעת ערך התחלתי למשתנה הבקרה. התנאי להמשך הביצוע: ביטוי בוליאני שמהווה את התנאי השולט בביצוע-החוזר. התנאי נבדק אחרי אתחול משתנה הבקרה. כמו כן הוא נבדק שוב בכל פעם שמסתיים ביצוע של קבוצת ההוראות-לביצוע. כל עוד התנאי מתקיים הביצוע-החוזר ממשיך. כאשר ערכו של התנאי הוא false הביצוע-החוזר מסתיים. שינוי משתנה הבקרה: השינוי שחל במשתנה הבקרה בכל פעם שמסתיים שלב ביצוע נוסף. גוף הלולאה תחום בסוגריים מסולסלים. במקרה שגוף הלולאה מכיל משפט בודד אפשר להשמיט את הסוגריים

6 for (i = 0; i < 10; i++) Console.Write("*"); for למשל כך: בטבלת מעקב אחר תוכנית הכוללת משפט ועמודה עבור התנאי להמשך הביצוע. אנו כוללים עמודה עבור משתנה הבקרה משתנה הבקרה במשפט for הוא בדרך כלל מטיפוס שלם. מאחר שבמקרים רבים תפקידו של משתנה הבקרה הוא רק לשלוט במשפט ה- for, ואין בו שימוש בחלקי התוכנית האחרים, שפת #C מאפשרת להצהיר על משתנה הבקרה בתוך הוראת ה-,for כלומר, נוכל לכתוב: for (int i = 1; i <= 10; i++ ) כאשר מצהירים על משתנה הבקרה בתוך משפט ה- for, אין אליו גישה מחוץ לתחום משפט ה- for. שאלה 7.1 בנו טבלת מעקב אחר מהלך ביצוע התוכנית Convertor (לפתרון בעיה 1) עבור הקלט שבו שער ההמרה הוא 4.5 ועשרת המחירים להמרה הם: פרטו בטבלה רק את השורות המתאימות לעיבוד שני הקלטים הראשונים ולעיבוד הקלט האחרון (בדומה לנעשה בפתרון בעיה 1). שאלה 7.2 נסחו עבור כל אחת מן הבעיות האלגוריתמיות הבאות קבוצת תת-משימות לביצוע-חוזר: א. הקלט הוא 20 מרחקים הנתונים במיילים, והפלט הוא 20 המרחקים בקילומטרים (1 מייל = 1.6 קילומטר). ב. הקלט הוא עשר אותיות מן הא"ב האנגלי השונות מהאות Z, והפלט הוא עשר האותיות שעוקבות לאותיות הנתונות. ג. הקלט הוא 40 זוגות של ציונים (זוג ציונים עבור כל תלמיד), והפלט הוא רשימה של ארבעים מספרים: כל מספר הוא הממוצע של זוג הציונים המתאים לו. Console.Write('X'); for (i = 0; i < 10; i++) Console.Write("*"); Console.Write('X'); שאלה 7.3 לפניכם קטע תוכנית: מהו פלט קטע התוכנית? שאלה 7.4 פתחו וישמו אלגוריתם אשר הקלט שלו הוא תו, והפלט שלו הוא שכפול של התו הנקלט חמישים פעמים. למשל, עבור הקלט A יהיה הפלט AAA...AA (חמישים פעמים). בשלב החלוקה לתת-משימות הקפידו על ניסוח תת-משימה לביצוע-חוזר. שאלה 7.5 פתחו וישמו אלגוריתם אשר הקלט שלו הוא 20 מספרים שלמים חיוביים דו-ספרתיים, שלו הוא סכום הספרות לכל אחד מהמספרים הנתונים. והפלט

7 למשל, אם הקלט הוא: הפלט המתאים הוא: בשלב החלוקה לתת-משימות הקפידו על ניסוח תת-משימה לביצוע-חוזר, ובשלב הבדיקה הקפידו על בדיקה מסודרת באמצעות טבלת מעקב. בפתרון בעיה 1 מספר הפעמים לביצוע-חוזר נקבע עוד לפני תחילת ביצוע התוכנית. במקרים רבים, ייתכן כי מספר הפעמים לביצוע-חוזר ידוע לפני שמתחיל ביצועה של ההוראה לביצוע-חוזר, אך לא לפני תחילת ביצוע התוכנית. כלומר הוא תלוי בקלט. מקרה כזה מודגם בבעיה הבאה: בעיה 2 מטרת הבעיה ופתרונה: הצגת ביצוע-חוזר שאורכו נקבע על פי נתון קלט. פתחו אלגוריתם שיקבל כקלט מספר שלם N, ויציג על המסך שורה של כוכביות באורך N. פירוק הבעיה לתת-משימות קליטת אורך לרשימת כוכביות הדפסת כוכביות לפי המספר הנקלט.1.2 רשימת המשתנים עד עתה השתמשנו במספרים קבועים בתנאי לסיום הביצוע-החוזר. בבעיה זו אנו נדרשים לקבל כקלט את מספר הפעמים שתתבצע הלולאה, ולכן התנאי להמשך הביצוע יהיה תלוי בערכו של משתנה. numoftimes מספר הפעמים שיש להציג כוכבית i משתנה הבקרה של הלולאה האלגוריתם numoftimes-á íìù øôñî èåì :íéîòô numoftimes òöá '*' âöä יישום האלגוריתם בפתרון בעיה 1, כאשר רצינו לבצע קבוצת משימות 10 פעמים יישמנו זאת באמצעות משפט for שכותרתו: for(i = 1; i <= 10; i++) (או באמצעות משפט שכותרתו i++),for(i = 1; i <= HOW_MANY; ו- HOW_MANY הוגדר כקבוע שערכו 10). כעת אנחנו רוצים לבצע את הוראה לביצוע-חוזר במשפט for שכותרתו: numoftimes 2.1 פעמים. לכן ניישם את ההוראה for(i = 1; i <= numoftimes; i++)

8 התוכנית המלאה /* הקלט: מספר שלם הפלט: שורה של כוכביות באורך הנתון כקלט */ using System; public class Stars public static void Main () int numoftimes; Console.Write("Enter a number please: "); numoftimes = int.parse(console.readline()); for (int i = 1; i <= numoftimes; i++) Console.Write('*'); } // Main } // Stars סוף פתרון בעיה 2 בתוכנית Stars ראינו שימוש בנתון קלט לקביעת מספר הפעמים לביצוע לולאה. בפיתוח אלגוריתמים בהמשך נשתמש בכך פעמים רבות. באמצעות הבעיה הבאה נכיר שני סוגים של משתנים המשמשים בפתרון בעיות רבות ותבנית העבודה איתם היא שימושית מאוד. כפי שנראה, תבנית העבודה עם משתנים כאלה משתמשת בהוראות לביצוע-חוזר. 3 בעיה מטרת הבעיה ופתרונה: הצגת מונה וצובר ואופן העבודה איתם. פתחו וישמו אלגוריתם אשר הקלט שלו הוא מספר חיובי שלם, ולאחריו רשימה של מספרים ממשיים, שאורכה שווה לערך הקלט הראשון. הפלט שלו הוא ממוצע המספרים ברשימה ומספר המספרים ברשימה שערכם עולה על 50. למשל, עבור הקלט: הפלט המתאים הוא: משום שממוצע המספרים הוא 66.7, ו- 8 מתוכם הם גדולים מ- 50. פירוק הבעיה לתת-משימות ? קליטת אורך הרשימה קליטת רשימת הערכים, סיכומם, ומניית מספר הערכים הגבוהים מ- 50 חישוב ממוצע הערכים הצגה כפלט של הממוצע שחושב ושל מספר הערכים הגבוהים מ- 50 כדי לחשב את הממוצע יש לסכם את הערכים הנתונים בקלט, ובנוסף יש למנות כמה מהערכים הנתונים בקלט הם גבוהים מ- 50. ניתן לבצע הן את פעולת הסיכום והן את פעולת המנייה תוך כדי קריאת נתוני הקלט. כיצד ניתן לבטא זאת כהוראה לביצוע-חוזר?

9 ניתן לבצע את פעולת הסיכום בהוספת כל ערך שנקלט לסכום מצטבר, עוד לפני קריאת הערך הבא. בדומה, ניתן לבצע את פעולת המנייה בהשוואת כל ערך שנקלט ל- 50, ובהגדלת מונה מתאים בכל פעם שהערך שנקלט עולה על 50. לכן, את תת-משימה 2 נוכל לבצע באמצעות ביצוע- חוזר של קבוצת ההוראות הבאה: קליטת ערך הוספת הערך שנקלט לסכום המצטבר השוואת הערך שנקלט ל- 50. אם גבוה מ- 50, הגדלת ערכו של מונה למניית מספר הערכים הגבוהים מ בחירת משתנים מן התת-משימות לביצוע-חוזר ניתן להסיק שיש להשתמש במשתנה אשר יישמר בו ערך תורן שנקרא מהקלט, במשתנה שיצבור את סכום הערכים, ובמשתנה שימנה את מספר הערכים הגבוהים מ- 50. לכן ניעזר במשתנים הבאים: length מטיפוס שלם, ישמור את אורך רשימת המספרים num מטיפוס ממשי, ישמור ערך תורן הנקרא מהקלט sum מטיפוס ממשי, צובר שישמור את סכום הערכים average מטיפוס ממשי, ישמור את ממוצע הערכים counterlarge מטיפוס שלם, מונה שישמור את מספר הערכים הגבוהים מ- 50 שימו : המשתנים sum,num,average הם מטיפוס ממשי, כיוון שערכי הקלט בבעיה הם ממשיים. לעומתם counterlarge הוא מטיפוס שלם כיוון שהוא משמש למנייה. יישום האלגוריתם? את ההוראה לביצוע-חוזר נוכל לנסח באופן הבא: :íéîòô length òöá num-á éùîî êøò èåì.1 sum-á øåîùä øáèöîä íåëñì num ìù åëøò úà óñåä.2 50-î ìåãâ num ìù åëøò íà.3 counterlarge ìù åëøò úà 1-á ìãâä.3.1 אילו הוראות יש להוסיף לפני ההוראה לביצוע-חוזר? שימו : כדי שהצבירה והמנייה יתבצעו באופן נכון, עלינו לאתחל נכונה את הערכים של sum ושל.counterLarge על פי תפקידם של שני המשתנים באלגוריתם יש לאתחל את ערכיהם ב- 0. /* קלט: רשימת ערכים ממשיים פלט: ממוצע הערכים ומספר הערכים הגבוהים מ- 50 */ using System; public class CalcAvgAndCountLargerThan50 public static void Main () הצהרה על קבוע בתוכנית // const int LIMIT = 50; התוכנית המלאה

10 הצהרה על משתנים בתוכנית // אורך רשימת הקלט// length; int ערך קלט תורן // num; double צובר // 0; = sum double ממוצע // average; double מונה למספר הערכים הגבוהים מ- // 50 0; = counterlarge int Console.Write("Enter length of input list: "); length = int.parse(console.readline()); ההוראה לביצוע-חוזר // for (int i = 1; i <= length; i++) Console.Write("Enter number: "); num = double.parse(console.readline()); sum = sum + num; if (num > LIMIT) שקול ל - counterlarge=counterlarge+1 counterlarge++; // }// for average = sum / length; Console.WriteLine("Average is 0}", average); Console.WriteLine("0} numbers are larger than 1}", counterlarge, LIMIT); }// Main }// CalcAvgAndCountLargerThan50 באלגוריתם לפתרון בעיה 3 משמש המשתנה sum כצובר של הערכים הנתונים. צובר פתרון בעיה סוף הוא משתנה אשר תפקידו לצבור ערכים. למשל ניתן להשתמש בצובר לסכימת ערכים. המשתנה counterlarge משמש כמונה של מספר הערכים הגבוהים מ- 50 מבין הערכים הנתונים. מונה 3 הינו משתנה אשר תפקידו למנות את מספר הפעמים שהתרחש אירוע מסוים (למשל מספר הפעמים שנקרא נתון קלט). כיוון שהשימוש במונה הוא לספירה, מונה הוא משתנה שלם. מטיפוס בתוכנית לפתרון בעיה 3 מופיעים המשפטים המבטאים את פעולות הצבירה והמנייה בגוף הלולאה לאחר משפט הקלט. המשפט המבטא את פעולת הצבירה בגוף הלולאה הוא: המשפט המבטא את פעולת המנייה בגוף הלולאה הוא: sum = sum + num; counterlarge++; מאחר שתחזוקה של מונה או של צובר כוללת ביצוע של פעולות עדכון חוזרות ונשנות, נבצע בדרך- כלל פעולות צבירה ומנייה בגוף הלולאה. שימו בשני המקרים גדל המשתנה המשמש כצובר או כמונה בערך כלשהו. במקרה של צובר הוא גדל בערך ששייך לקבוצת הערכים המצטברים. במקרה של מונה הוא גדל ב- 1. באלגוריתם שמשתמשים בו בצובר או במונה יש לאתחל את הצובר או את המונה. בתוכנית לפתרון הבעיה מאותחלים הצובר sum והמונה counterlarge ב

11 מונה של או צובר של א ת חוּל הוא השמת ערך המתאים לתחילת תהליך הצבירה או המנייה. מונה מאותחל בדרך כלל ב- 0. הערך ההתחלתי המתאים לצובר תלוי במהות הצבירה המתבצעת בו. למשל, צובר השומר סכום מצטבר יאותחל ב- 0. שאלה 7.6 שנו את המשפטים הנמצאים בגוף הלולאה שבתוכנית לפתרון בעיה 3, כך שיחושב ממוצע הערכים הגבוהים מ- 50. שאלה 7.7 לפעמים ניתן להשתמש בערכו של מונה לחישוב מספר הנתונים המאופיינים בצורה הפוכה לנתונים שמנינו. למשל, נניח שבבעיה 3 יש להציג גם את מספר הערכים הקטנים או שווים ל- 50. דרך אחת לחישוב מספר זה היא באמצעות שימוש במונה נוסף countersmall (נוסף ל- counterlarge ), אשר ערכו יוגדל ב- 1 בכל פעם שנקלוט ערך הקטן או שווה ל- 50. אך בעצם אין צורך במונה נוסף. ניתן לבצע את החישוב בתום ביצוע הלולאה, באמצעות המונה counterlarge המופיע כבר בתוכנית. כיצד? הוסיפו לתוכנית את ההוראה או את ההוראות המתאימות. שאלה 7.8 ציינו עבור כל אחת מן הבעיות האלגוריתמיות הבאות אם נחוץ לפתרונה צובר, מונה או אף אחד מהשניים: א. קלט: רשימת מחירים, פלט: סך כל המחירים. ב. קלט: רשימת מחירים, פלט: מספר המחירים הגבוהים מ ג. קלט: רשימת מחירים, פלט: מספר המחירים שמרכיב האגורות בהם שונה מ- 0. ד. קלט: רשימת מספרים, פלט: הערך המוחלט של כל אחד מהמספרים. ה. קלט: רשימת מספרים, פלט: הממוצע של הערכים המוחלטים של המספרים. שאלה 7.9 יש לקלוט סדרה של תווים, אשר אורכה שמור במשתנה,listSize ולמנות את מספר התווים שהם אותיות גדולות letters) (capital בא"ב האנגלי. בחרו משתנים, כתבו הוראה לביצוע-חוזר אשר לפניה אתחול מתאים, וישמו אותה במשפט.for שאלה 7.10 מטרת קטע התוכנית הבא היא מניית מספר תווי קלט השונים מן האות A. המשתנים counter ו- listsize הם מטיפוס שלם והמשתנה letter הוא מטיפוס תווי. int counter = ; for (int i = 1; i <= listsize; i++) Console.Write("Enter a char: "); letter = char.parse(console.readline()); if ( ) }// for Console.WriteLine("There are 0} letters different than A", counter); קטע התוכנית כולל לולאה. א. כמה פעמים תתבצע הלולאה עבור הערך 10 ב- listsize?

12 ב. ג. כמה פעמים תתבצע הלולאה עבור הערך 1 ב- listsize? השלימו את קטע התוכנית. שאלה 7.11 נתונה התוכנית הבאה: /* קלט: טור של 16 תווים מטופס ספורטוטו פלט : */ using System; public class Toto public static void Main () const int NUM_OF_GAMES = 16; int d = 0; char score; for (int i = 0; i < NUM_OF_GAMES; i++) Console.Write("Enter the score: "); score = char.parse(console.readline()); if (score == X ) d++; } // for Console.WriteLine(d); } // Main } // Toto קלט התוכנית הוא טור בטופס הספורטוטו. כלומר, 16 תווים שכל אחד מהם מציין תוצאת משחק,1) 2 או.(X א. מהו הפלט עבור הקלט:?1 2 X 1 2 X 1 2 X 1 2 X 1 2 X 2 ב. האם התוכנית כוללת מונה או צובר? אם כן, מהו או מהם? ג. כמה פעמים תתבצע לולאת התוכנית? ד. הביאו דוגמת קלט אשר הפלט עבורה הוא 0. ה. הביאו דוגמת קלט אשר הפלט עבורה הוא 15. ו. מה מאפיין את הקלטים אשר הפלט עבורם הוא 1? ז. מהם ערכי הפלט האפשריים? ח. מהי מטרת התוכנית? בחרו שם משמעותי למשתנה d. שאלה 7.12 פתחו וישמו אלגוריתם אשר הקלט שלו הוא מספר המציין אורך של רשימה ואחריו רשימת מספרים ממשיים באורך הנתון. הפלט שלו הוא סכום החלקים השלמים של המספרים הממשיים הנתונים. מספרים בתחום שאלה 7.13 כתבו קטע תוכנית אשר מקבל כקלט מספר שלם.num התוכנית תגריל num ותבדוק כמה מספרים מבין המספרים שהוגרלו הם זוגיים

13 התוכנית תחשב ותדפיס את סכום שאלה 7.14 כתבו קטע תוכנית שיגריל 10 מספרים תלת-ספרתיים. המספרים האי-זוגיים בלבד מבין המספרים שהוגרלו. בדוגמאות שראינו עד כה השתמשנו בצובר לצבירת סכום. ניתן להשתמש בצובר גם לצבירת מכפלה. כאשר צובר משמש לצבירת מכפלה הוא מאותחל בערך שונה מ- 0. שימו לב לכך בשאלה הבאה: מספרים ויציג כפלט את של מכפלתם 50 שאלה 7.15 פתחו וישמו אלגוריתם שיקבל כקלט רשימה של המספרים הקטנים מ- 10. להעמקה בתבניות מנייה וצבירה פנו לסעיף התבניות המופיע בסוף הפרק. בעיה 3 השתמשה גם בתבנית ממוצע. להעמקה בתבנית ממוצע עבור סדרה שיכולה להכיל יותר מ- 3 ערכים פנו לסעיף התבניות המופיע בסוף הפרק. בעיה 4 מטרת הבעיה ופתרונה: עוד על הוראה לביצוע-חוזר מספר פעמים ידוע מראש: הצגת הוראה לביצוע-חוזר המטפלת בתחום של מספרים, והדגמת שימוש במשתנה הבקרה בתוך גוף הלולאה. פתחו וישמו אלגוריתם שיקבל כקלט מספר שלם, ויציג כפלט את כל המספרים השלמים החיוביים הקטנים מהמספר הנתון. למשל עבור הקלט 5 הפלט המתאים הוא: פירוק הבעיה לתת-משימות ברצוננו לקלוט מספר שלם num ולהציג num-1 ערכים, מ- 1 עד.num-1 אם כך, החלוקה לתת- משימות היא ברורה למדי: 1. קליטת מספר מהקלט 2. הצגה כפלט של כל הערכים החיוביים והשלמים שקטנים מהמספר שנקלט ברור כי לשם ביצוע תת-משימה 2 נזדקק להוראה לביצוע-חוזר, שתתבצע num-1 פעמים. בחירת משתנים ברור כי נזדקק למשתנה עבור הערך הנקרא מהקלט. סביר כי נהיה גם זקוקים למשתנה כלשהו, עבור האיבר התורן להצגה. משתנה זה יאותחל ב- 1 ויקודם בסיום כל סיבוב בלולאה ב- 1, עד אשר ערכו יגיע ל- num. אבל איננו זקוקים למשתנה נוסף כי תיאור זה מתאים בדיוק למשתנה הבקרה של הלולאה! לכן נקבל את רשימת המשתנים הבאה: num מטיפוס שלם, לשמירת הערך הנקרא מהקלט i משתנה הבקרה

14 האלגוריתם כאמור תת-משימה 2 תתבצע באמצעות הוראה לביצוע-חוזר. למעשה בהוראה זו אנו מעוניינים לעבור על תחום של ערכים (מהערך 1 ועד הערך (num-1 ולהציג כל ערך בתחום. כדי לבטא זאת, ננסח את ההוראה לביצוע-חוזר בצורה שונה מעט מזו שראינו באלגוריתמים קודמים בפרק. num-á íìù øôñî èåì.1 :òöá num-1 ãò 1-î íìù i ìë øåáò.2 i ìù åëøò úà âöä.2.1 יישום האלגוריתם את הוראה 2 באלגוריתם שכתבנו ניישם במשפט.for זהו משפט for הדומה מאוד לאלה שראינו בתוכניות קודמות בפרק, רק שמשתנה הבקרה בו אינו משמש רק כדי לשלוט בביצוע הלולאה. יש התייחסות למשתנה הבקרה גם בתוך גוף הלולאה, ולא רק בשלושת הרכיבים שבכותרת הלולאה. /* קלט: מספר שלם כל המספרים השלמים והחיוביים הקטנים מהמספר הנתון */ using System; public class PrintNumbers public static void Main() ערך הנקרא מהקלט // num; int Console.Write("Enter a number: "); num = int.parse(console.readline()); for (int i = 1; i < num; i++) Console.WriteLine(i); } // Main } // PrintNumbers התוכנית המלאה פלט: 4 פתרון בעיה סוף שאלה 7.16 על פי הגדרת בעיה 4, יכול להינתן כנתון ראשון בקלט כל מספר שלם. תארו את מהלך ביצוע התוכנית PrintNumbers אם הערך הראשון בקלט הוא המספר השלם 0. תארו את מהלך הביצוע של התוכנית אם הערך הראשון בקלט הוא המספר השלם 2-. שאלה 7.17 פתחו אלגוריתם שמקבל כקלט מספר חיובי שלם n, מחשב את!n, ומציג את הערך שחושב כפלט. ישמו את האלגוריתם בשפת #C. להזכירכם:!n היא מכפלת המספרים מ- 1 עד n, כלומר:!n. = 2 1 n n שאלה 7.18 פתחו אלגוריתם שמקבל כקלט מספר חיובי שלם n, ומחשב את הסכום:

15 ישמו את האלגוריתם בשפת #C. כזכור הרכיב השלישי במשפט for הוא משפט השמה המתאר את השינוי של משתנה הבקרה בתום כל סיבוב בלולאה. עד עתה כתבנו תוכניות שבהן משתנה הבקרה גדל ב- 1 בתום כל סיבוב של הלולאה. אבל לעתים נרצה לקדם את משתנה הבקרה ב- 2, 3 או אפילו פי 2. שפת #C מאפשרת לנו לתאר שינויים כאלה, פשוט בכתיבת משפט השמה מתאים. הנה מספר דוגמאות לכותרות משפטי for כאלה: for(int i = small; i < big; i = i + 2) for(int i = small; i < big; i = i * 2) for(int i = big; i > small; i--) (כפי שוודאי הבנתם, --i היא דרך מקוצרת לכתוב: - 1 i ). i = במקרים רבים, אכן מתאים לבצע עדכונים שונים של משתנה הבקרה, כפי שמדגימות השאלות הבאות. שאלה 7.19 לפניכם קטע תוכנית הכתוב ב-# C for (int i = 1; i <= 50; i = i * 2) Console.WriteLine(i); א. עקבו בעזרת טבלת מעקב אחר קטע התוכנית? מה יודפס? ב. נניח כי במקום הערך 50 מופיע ערך חיובי שלם כלשהו N. תארו מה מבצע קטע התוכנית כתלות בערך N. שאלה 7.20 פתחו אלגוריתם אשר מקבל כקלט מספר שלם ומציג כפלט את כל המספרים הזוגיים החיוביים הקטנים מהמספר שנקרא. 7.2 מציאת מקסימום או מינימום שתיים מהבעיות הבסיסיות ביותר ב הן חישוב הערך הגדול ביותר או הקטן ביותר ברשימה של ערכים נתונים. פתרונן מהווה תבנית שימושית מאוד. בסעיף זה נערוך היכרות עם בעיות אלו ונראה כי כאשר אורך הרשימה ידוע ניתן לפתור אותן בעזרת הוראה לביצוע-חוזר מספר פעמים ידוע מראש. בעיה 5 מטרת הבעיה ופתרונה: שאורכה נתון אף הוא. הצגת אופן החישוב של הערך הגדול ביותר ברשימת ערכים נתונים מנהל סניף הבנק החליט לבדוק מהו סכום הכסף הגדול ביותר השמור בחשבונות של לקוחות הסניף. פתחו אלגוריתם אשר קולט את מספר החשבונות בסניף, ולאחר מכן את סכום הכסף הנמצא בכל חשבון וחשבון (כמספר שלם). פלט האלגוריתם יהיה הסכום הגבוה ביותר. ישמו את האלגוריתם בשפת #C

16 ניתוח הבעיה בעזרת דוגמאות הרעיון המרכזי בפתרון הבעיה הוא לזכור בכל זמן מהלך הביצוע, מהו הערך הגדול ביותר מבין אלה שכבר נקלטו. ערך זה יושווה תמיד לערך הבא שנקרא מהקלט, ויתעדכן בהתאם לתוצאת ההשוואה. פירוק הבעיה לתת-משימות את הרעיון שתיארנו נוכל לבטא באמצעות התת-משימה הבאה ועל ביצועה יש לחזור לאחר כל קליטת ערך נוסף: השוואת הסכום האחרון שנקלט לסכום הגדול ביותר שנקלט עד כה, ועדכון הסכום הגדול ביותר שנקרא עד כה על פי תוצאת ההשוואה בחירת משתנים נזדקק למשתנה שיזכור את מספר ערכי הקלט (מספר החשבונות), ולמשתנה לשמירת הערך התורן בקלט. בנוסף נזדקק למשתנה כדי לזכור את הערך הגדול ביותר מבין אלה שנקלטו. נבחר את המשתנים הבאים מטיפוס שלם: howmany מספר הערכים ברשימת הנתונים, מספר החשבונות בסניף balance הערך התורן ברשימת ערכי הקלט max לשמירת הסכום הגדול ביותר מבין אלה שנקלטו האלגוריתם max יאותחל בסכום הראשון ברשימה, כיוון שמיד אחרי שנקרא הסכום הראשון, הוא בוודאי הגדול ביותר מבין כל הסכומים שנקראו. כעת יש לקרוא את כל הסכומים האחרים בעזרת לולאת.for לאחר כל קליטה של סכום נוסף, יש להשוות את הסכום החדש שנקלט לסכום הגדול ביותר שנקרא עד כה (השמור ב- max ). אם הסכום החדש גדול מזה השמור ב- max, יישמר ב- max הסכום החדש.? כמה פעמים צריך להתבצע גוף הלולאה? הסכום הראשון נקרא מהקלט עוד לפני הלולאה לצורך האתחול של המשתנה.max לכן הלולאה צריכה להתבצע רק howmany-1 פעמים כדי לקלוט ולעבד את ערכי הקלט הנותרים. יישום האלגוריתם /* ורשימת הסכומים בחשבונות אלה מספר חשבונות בנק, קלט: הסכום הגבוה ביותר ברשימה פלט: */ using System; public class FindMax public static void Main () howmany; int מספר הערכים ברשימה // balance; int // הסכום התורן max; int אלה שנקלטו // הסכום הגבוה ביותר מבין 1. Console.Write("Enter the amount of accounts: "); 2. howmany = int.parse(console.readline());

17 3. Console.Write("Enter the first balance: "); 4. balance = int.parse(console.readline()); 5. balance; max = אתחול המקסימום לסכום הראשון // 6. for(int i = 2; i <= howmany; i++) 6.1. Console.Write("Insert balance of account 0}: ", i); 6.2. balance = int.parse(console.readline()); 6.3. הסכום הנוכחי גדול מהמקסימום הנוכחי // max) if (balance > max = balance; } // for 7. Console.WriteLine("The maximum is 0}", max); }// Main }// FindMax שימו בתוך הלולאה אפשר להשתמש במשתנה הבקרה i כמשתנה לכל דבר. 5 סוף פתרון בעיה שאלה 7.21 בנו טבלת מעקב אחר מהלך ביצוע התוכנית FindMax לפתרון בעיה 5 עבור הקלט: כמה פעמים במהלך ביצוע התוכנית מושם ערך במשתנה?max -9 שאלה 7.22 בפתרון בעיה 5 אותחל max לערכו של הנתון הראשון ברשימה. האם הפתרון היה נכון לו max היה מאותחל בערך קבוע כלשהו, למשל 0? הערה: זכרו כי ייתכן שזהו בנק לא מוצלח במיוחד וכל חשבונות הבנק בו במשיכת יתר, כלומר בעלי ערך שלילי. שאלה 7.23 נתון קטע התוכנית החלקי הבא לחישוב המספר הקטן ביותר ברשימת מספרים חיוביים נתונה, אשר אורכה שמור במשתנה.len min = Console.Write("Enter the list size: "); len = int.parse(console.readline()); for (int i = 1; i <= len; i++) } Console.WriteLine("The minimum is: 0}", min); השלימו את קטע התוכנית (הוסיפו משתנה או משתנים במידת הצורך). במשפט הראשון אתחלו את min לערך קבוע כלשהו (ולא לערך הראשון ברשימה). שאלה 7.24 פתחו וישמו אלגוריתם שמקבל כקלט רשימה של ציונים ב של 40 תלמידים. הפלט הוא הציון הגבוה ביותר מבין התלמידים שנכשלו במבחן (ציון נכשל הוא ציון הנמוך מ- 55 ). שימו לב: כאן הציון התורן הנקרא מהקלט אינו מושווה בכל מקרה למקסימום הנוכחי, אלא רק כאשר הוא קטן מ

18 כפי שראינו בתרגילים הקודמים, יש דרכים שונות לאתחול בתבנית מציאת מקסימום (וכמובן, כך גם לגבי תבנית מציאת מינימום). המשתנה ששומר את המקסימום התורן, צריך בכל שלב לשמור את האיבר הגדול ביותר מבין האיברים שהושוו עד כה. בדרך כלל נעדיף לאתחל את המשתנה הזה בערך האיבר הראשון ברשימה. אכן אחרי שנקלט איבר אחד בלבד, ודאי שהוא הגדול מבין כל אלה שנקלטו. אך ישנם מקרים שעובדה זו אינה מספיקה ולא נוכל להשתמש באתחול כזה. כך למשל בשאלה 7.24: בשאלה זו אנו מעוניינים למצוא מקסימום רק מבין הציונים הנכשלים ולא מבין כל הציונים שבקלט. כלומר לא כל איבר שנקלט צריך להיות מושווה לצורך מציאת מקסימום. בפרט לא בטוח שהאיבר הראשון הוא ציון נכשל ולכן בכלל לא יהיה מועמד למקסימום. לכן יהיה שגוי לקבוע אותו כמקסימום התחלתי. במקרים כאלה נוכל להשתמש בקצוות של טווח הערכים האפשריים. למשל אם מדובר בציונים, ערכם יכול לנוע מ- 0 עד 100. במקרה כזה, יהיה נכון לאתחל את המקסימום התורן ב- 0 (ואת המינימום התורן ב- 100 ). כיוון שברור שהערך הראשון שנשווה למקסימום התורן ערכו הוא 0 לפחות, הרי מיד אחרי ההשוואה הראשונה המקסימום התורן יכיל את האיבר הראשון שהושווה. שימו : לא תמיד ידועים ערכי קצה לטווח הערכים האפשריים! (ראו את שאלה 7.22) להעמקה בתבניות מציאת מקסימום ומציאת מינימום פנו לסעיף התבניות המופיע בסוף הפרק ערך נלווה 7.3 מציאת למקסימום או למינימום בסעיף זה נכיר בעיות הדומות לבעיית מציאת מקסימום או מינימום, אך מעט יותר מורכבות. גם פתרונותיהן מהווים תבניות שימושיות. 6 בעיה מטרת הבעיה ופתרונה: הצגת אופן חישוב מיקומו של הערך הגדול ביותר והקטן ביותר ברשימת ערכים נתונים. בנגן MP3 שמורים 100 שירים. לכל שיר מספר ייחודי משלו בין 1 ל על צג המכשיר מוצג מספרו של השיר הארוך ביותר ושל השיר הקצר ביותר שנמצאים בו. עליכם לפתח אלגוריתם שיאפשר את הצגת המידע הזה. כלומר האלגוריתם יקבל כקלט את רשימת אורכי 100 השירים במכשיר, ופלט האלגוריתם יהיה מספרו של השיר הארוך ביותר ומספרו של השיר הקצר ביותר. כמובן שלצורך פתרון הבעיה יש למצוא את השיר הארוך ביותר ואת השיר הקצר ביותר. כלומר יש למצוא ברשימת אורכי השירים ערך מקסימלי וערך מינימלי. אבל בבעיה זו עלינו לשמור מלבד הערך המקסימלי ומלבד הערך המינימלי גם את מיקומם של ערכים אלה ברשימה. פירוק הבעיה לתת-משימות את הרעיון המרכזי בפתרון נוכל לבטא באמצעות התת-משימה הבאה אשר על ביצועה יש לחזור לאחר כל קליטת ערך נוסף: השוואת אורך השיר האחרון שנקלט לאורך השיר הגדול ביותר שנקלט עד כה ולאורך השיר הקצר ביותר שנקלט עד כה, ובהתאם לתוצאת ההשוואה עדכון ערך המקסימום ומיקום המקסימום ועדכון ערך המינימום ומיקום המינימום

19 בחירת משתנים currentsonglength מטיפוס ממשי, ישמור את אורך השיר הנוכחי. longest מטיפוס ממשי, ישמור את אורך השיר הארוך ביותר שנקלט עד כה. shortest מטיפוס ממשי, ישמור את אורך השיר הקצר ביותר שנקלט עד כה. placelongest מטיפוס שלם, ישמור את מיקומו של השיר הארוך ביותר שנקלט עד כה. placeshortest מטיפוס שלם, ישמור את מיקומו של השיר הקצר ביותר שנקלט עד כה. שימו לבחירת טיפוסי המשתנים: המשתנים longest ו- shortest אשר שומרים את האורך המקסימלי ואת האורך המינימלי חייבים להיות מאותו טיפוס כמו הערכים ברשימת הקלט. כיוון שכאן מדובר באורכי שירים (שיכולים להיות לא שלמים), בחרנו בטיפוס ממשי. לעומתם המשתנים placelongest ו- placeshortest שומרים מיקום ברשימה, ולכן הם מטיפוס שלם. תוכנית המלאה? ה כיצד נדע מהו מיקומו של שיר נתון? לשם כך נוכל להשתמש במשתנה הבקרה של משפט ה- for. כדי שהלולאה תתבצע 99 פעמים משתנה הבקרה יתקדם מ- 2 עד 100, וכך ערכו של משתנה הבקרה יהיה בדיוק מספרו של השיר התורן. שימו : בדיוק כפי שנאתחל את longest ואת,shortest נאתחל גם את placelongest ואת placeshortest באופן עקבי. Longest יאותחל באורכו של השיר הראשון ולכן בהתאם placelongest יאותחל במיקום הראשון (כלומר ב- 1 ). כך גם לגבי האתחול של shortest ושל.placeShortest /* MP3 100 השירים במכשיר רשימת אורכי קלט: ומספרו של השיר הקצר ביותר */ using System; public class Mp3 מספרו של השיר הארוך היותר, פלט: public static void Main () // 100; = NUM_OF_SONGS const int הגדרת קבוע מספר השירים בנגן currentsonglength; double אורך השיר הנוכחי// shortest; double // אורך השיר הקצר ביותר longest; double אורך השיר הארוך ביותר // // placeshortest; int placelongest, מיקומם של השיר הקצר והארוך Console.Write("Enter the length of the first song: "); currentsonglength = double.parse(console.readline()); // המינימום ומקומם אתחולם של המקסימום, longest = currentsonglength; shortest = currentsonglength; placelongest = 1; placeshortest = 1; // נקלט כבר הלולאה מתחילה מ- 2 כיוון שהשיר הראשון for(int i = 2; i <= NUM_OF_SONGS; i++)

20 Console.Write("Enter the length of song 0}: ", i); currentsonglength = double.parse(console.readline()); if (currentsonglength > longest) longest = currentsonglength; placelongest = i; } // if if (currentsonglength < shortest) shortest = currentsonglength; placeshortest = i; } // if } // for Console.WriteLine("The number of the longest song is 0}", placelongest); Console.WriteLine("The number of the shortest song is 0}", placeshortest); } // Main }// Mp3 6 פתרון בעיה סוף שאלה 7.25 פתחו אלגוריתם שיקבל כקלט מספר חיובי שלם המציין את מספר שחקני מכבי ת"א, ואחר כך יקלוט רשימה של נתוני קליעות של השחקנים: עבור כל שחקן ייקלט מספרו (המספר שעל החולצה שלו), ומספר הנקודות שקלע במהלך העונה. פלט האלגוריתם יהיה מספרו של השחקן שקלע הכי הרבה נקודות במהלך העונה. שימו : במקרה זה, אנחנו לא מתבקשים להציג את מיקומו של השחקן שקלע הכי הרבה נקודות אלא את מספרו, לכן משתנה הבקרה המצביע על ה"מיקום" של השחקן התורן בקלט אינו מתאים כי הוא אינו מספרו הסידורי של השחקן. את מספרו של השחקן יש לקרוא מהקלט. להעמקה בתבניות מציאת ערך נלווה למקסימום התבניות המופיע בסוף הפרק. ומציאת ערך נלווה למינימום לסעיף פנו 7.4 ביצוע-חוזר-בתנאי לצורך פתרון הבעיות שראינו עד כה אפשר היה להשתמש בהוראה לביצוע-חוזר אשר מספר הסיבובים בה נקבע לפני תחילת ביצוע הלולאה. בסעיף זה נכיר בעיות אשר בפתרונן אי אפשר לקבוע לפני תחילת הלולאה את מספר הפעמים לביצוע-חוזר. בפתרון בעיות אלה מהלך הלולאה נקבע בהתאם לתנאי. הלולאה מתבצעת שוב ושוב כל עוד התנאי מתקיים. הלולאה מסתיימת כאשר התנאי לא מתקיים. ביצוע-חוזר בשימוש בזקיף בסעיף זה נראה בעיות דומות לאלו שראינו בסעיפים הקודמים. הדמיון מתבטא בכך שגם בבעיות אלו מתבצע עיבוד של רשימת נתוני קלט. ההבדל נעוץ באורך הרשימה המעובדת. בבעיות שהוצגו עד כה אורך הרשימה היה קבוע של התוכנית או נקרא מהקלט. בבעיות שיוצגו בסעיף זה אורך

21 הרשימה אינו ידוע כלל. במקום זאת האיבר האחרון בקלט הוא איבר מיוחד המסמן את סופה של רשימת ערכי הקלט. 7 בעיה מטרת הבעיה ופתרונה: הצגת הוראה לביצוע-חוזר-בתנאי בשימוש בזקיף. צבי עובד בשעות אחר הצהריים בחלוקת משלוחי פרחים. הוא מעוניין להיעזר במחשב הנייד שהוא נושא עמו כדי לחשב בסיום יום העבודה את סכום הטיפים שהרוויח במהלך היום. בכל פעם שצבי מקבל טיפ הוא מקיש את הסכום שקיבל (בשקלים שלמים). בסיום יום העבודה הוא מקיש 1-. פתחו אלגוריתם המקבל כקלט את רשימת הטיפים שקיבל צבי, המסתיימת בערך 1-, ומחשב את סכום הטיפים הכולל. ישמו את האלגוריתם בשפת #C. ניתוח הבעיה בעזרת דוגמאות שאלה 7.26 תארו את הפלט עבור כל אחד מן הקלטים הבאים (משמאל לימין): א ב פירוק הבעיה לתת-משימות.1.2 בניתוח ראשוני של הבעיה ניתן לראות שיש להשתמש בביצוע-חוזר של שתי התת-משימות: קליטת מספר הוספת המספר לסכום (בשימוש בצובר) לו הקלט היה כולל בתחילתו את מספר הערכים בסדרה הנתונה, היינו מפתחים אלגוריתם דומה לאלגוריתמים שבסעיפים הקודמים, בשימוש בהוראה במבנה.íéîòô øôñî òöá אבל מספר הערכים בסדרה לא נתון בתחילת הקלט (כלומר אין אנו יודעים מראש כמה שליחויות עשה צבי באותו היום). במקום זה מופיע בסוף הקלט הערך 1- המציין "סוף קלט". כיצד נשתמש בסימון זה בהוראה לביצוע-חוזר? נשתמש בערך 1- כדי להחליט על סיום ביצוע-חוזר של התת-משימות שתיארנו. כלומר לאחר קליטה של טיפ תורן, יושווה ערך הטיפ לערך 1-. אם הוא שונה מ- 1 - הרי הוא נתון קלט רגיל ולכן יש להוסיפו לסכום המצטבר. אחרת יש לסיים את הביצוע-החוזר. בחירת משתנים האלגוריתם tip מטיפוס שלם, ישמור את הטיפ למשלוח הנוכחי. sum מטיפוס שלם, ישמור את סכום הטיפים. ננסח את הרעיון שתיארנו: :òöá -1 åððéà èì ðù ïåøçàä êøòä ãåò ìë øáèöîä íåëñì èì ðù ïåøçàä êøòä úà óñåä øáèöîä íåëñä ìù åëøò úà âöä

22 ? בהוראה לביצוע-חוזר מסוג זה נבדק תנאי לפני כל סיבוב בלולאה. במקרה זה התנאי הוא êøòä 1-. åððéà èì ðù ïåøçàä אם התנאי מתקיים מתבצע סיבוב נוסף בלולאה. כאשר התנאי לא מתקיים, כלומר הערך שנקלט הוא אכן 1-, מסתיים הביצוע-החוזר. בין ההוראות האלו לא נמצאת עדיין הוראה לקליטת הטיפ התורן. היכן נמקם את הוראת הקלט? יש לבצע את קליטת הטיפ התורן לפני השוואתו לסימן 1-. לכן את הערך הראשון יש לקרוא מהקלט עוד לפני הלולאה. קליטת הערכים הבאים (עד לקליטת סימן סוף הקלט) תהיה ההוראה האחרונה בגוף הלולאה. כלומר מיד כאשר מסתיים עיבוד איבר קלט תורן, ולפני שנבדק קיום התנאי ביחס לאיבר הקלט החדש, מתבצעת קליטה של איבר הקלט החדש. הנה האלגוריתם המלא: 0-á sum äðúùîä úà ìçúà.1 tip-á íìù øôñî èåì.2 :òöá tip -1 ãåò ìë.3 tip êøòä úà sum-ì óñåä.3.1 tip-á íìù øôñî èåì.3.2 sum ìù åëøò úà âöä.4 יישום האלגוריתם את ההוראה במבנה...ãåò ìë,òöá כולל תנאי ניישם ב-# C במשפט.while משפט while בוליאני שקיומו קובע את המשך ביצוע הלולאה. סדרת מספרים שלמים חיוביים המסתיימת ב-( 1 -)*/ קלט: סכומם של המספרים שנקלטו /* פלט: using System; public class SumOfTips public static void Main () tip; int // הטיפ מהמשלוח הנוכחי sum; int // סכום הטיפים המצטבר 1. sum = 0; 2. Console.Write("Enter your first tip for today." + " End the list of tips with -1: "); 3. tip = int.parse(console.readline()); 4. while (tip!= -1) 4.1. sum = sum + tip; 4.2. Console.Write("Enter the next tip." + " End the list of tips with -1: "); 4.3. tip = int.parse(console.readline()); } // while 5. Console.WriteLine("You have earned 0} shekels", sum); }// Main }// SumOfTips מעקב נעקוב אחר מהלך ביצוע התוכנית SumOfTips עבור הקלט 12:

23 while בטבלת מעקב הכוללת משפט המשפט. tip sum tip!=-1 פלט? 0? 0 Enter your first tip true Enter the next tip true Enter the next tip true Enter the next tip false You have earned 21 Shekels אנו כוללים עמודה עבור התנאי הבוליאני שבכותרת המשפט לביצוע sum = 0; Console.Write("Enter your first tip "); tip = int.parse(console.readline()); while (tip!= -1) sum = sum + tip; Console.Write("Enter the next tip. "); tip = int.parse(console.readline()); while (tip!= -1) sum = sum + tip; Console.Write("Enter the next tip. "); tip = int.parse(console.readline()); while (tip!= -1) sum = sum + tip; Console.Write("Enter the next tip. "); tip = int.parse(console.readline()); while (tip!= -1) Console.WriteLine("You have earned 0} shekels", sum); סוף פתרון בעיה 7 נציג את המבנה החדש שהכרנו בפתרון לבעיה 7: הוראה לביצוע-חוזר-בתנאי מבטאת ביצוע-חוזר של תת-משימה התלוי בקיום תנאי. הוראה כזאת נכתבת במבנה...òöá...ãåò ìë גם הוראה כזאת נקראת לולאה, והתנאי להמשך הביצוע-החוזר נקרא תנאי הכניסה ללולאה. הוראה לביצוע-חוזר-בתנאי מיושמת ב-# C במשפט.while המבנה הכללי של משפט while הוא: (ביטוי בוליאני ( while גוף הלולאה: משפט או משפטים לביצוע } ביצוע משפט while מתחיל בחישוב ערכו של הביטוי הבוליאני. אם ערכו true מתבצע גוף הלולאה. בתום ביצוע גוף הלולאה מחושב הביטוי הבוליאני שוב. אם ערכו true מתבצע גוף הלולאה שוב. תהליך זה נמשך כל עוד ערכו של הביטוי הבוליאני הוא.true כאשר ערכו הוא false מסתיים ביצוע משפט ה- while. גוף הלולאה תחום בסוגריים מסולסלים. במקרה שגוף הלולאה מכיל משפט בודד אפשר להשמיט את הסוגריים

24 בטבלת מעקב אחר מהלך ביצוע תוכנית הכוללת משפט while אנו כוללים עמודה עבור תנאי הכניסה ללולאה. ניתן לתאר משפט while באמצעות תרשים הזרימה הבא: התנאי מתקיים ביטוי בוליאני הוראות לביצוע התנאי לא מתקיים כאמור השוני בין בעיה 7 לבעיות הקודמות לה בפרק הוא בהגדרת הקלט. בבעיות הקודמות ניתן מראש אורך רשימת איברי הקלט, ואילו בבעיה 7 סיום רשימת הקלט מסומן בסימן מיוחד (1-). סימן כזה נקרא זקיף. זקיף הוא נתון קלט חריג שתפקידו לסמן את סוף סדרת ערכי הקלט. הזקיף אינו חלק מסדרת הנתונים, ואין לעבד אותו כמו שאר איברי הסדרה. למשל בפתרון בעיה 7 לא הוספנו את הערך 1- לסכום איברי הסדרה כיוון שהזקיף אינו נחשב כחלק מהסדרה! השוני בהגדרת הקלט משפיע גם על מבנה הלולאה. הבדל ברור אחד הוא שבפתרון בעיה 7 השתמשנו בהוראה לביצוע-חוזר-בתנאי שיושמה במשפט,while בעוד שבפתרון הבעיות הקודמות השתמשנו בהוראות לביצוע-חוזר מספר פעמים ידוע מראש שיושמו במשפטי.for אך יש הבדל נוסף האופן שמשולבות הוראות הקלט בתוך הלולאה: בלולאות שבהן השתמשנו בפתרון בעיות קודמות, גוף הלולאה כלל הוראת קלט ומיד לאחריה הוראה לעיבוד הקלט. מבנה זה של גוף הלולאה התאים לבעיות שהיה צריך לעבד בהן כל אחד ואחד מאיברי הקלט באופן אחיד. בבעיות דוגמת בעיה 7 עיבוד איברי הקלט אינו אחיד: העיבוד של הזקיף שונה מהעיבוד של איברים אחרים בקלט. דרוש מבנה המאפשר לקרוא איבר קלט ולעבד אותו רק אחרי שבוצעה בדיקה כי הוא אינו הזקיף. לכן בפתרון בעיות שהגדרת הקלט בהן כוללת זקיף, מתבצעת הוראת קלט ראשונה לפני הלולאה. גוף הלולאה כולל קודם כל הוראה לעיבוד הקלט, ורק אחר כך הוראת קלט. המבנה הכללי של הוראה לביצוע-חוזר לעיבוד רשימת קלט המסתיימת בזקיף: ïåúð èåì : òöá óé æä åððéà èì ðä ïåúðä ãåò ìë èì ðä ïåúðä úà ãáò ïåúð èåì באופן זה, הנתון החדש ייבדק תמיד מיד לאחר קליטתו

25 שאלה 7.27 נתון קטע התוכנית הבא. הקלט הוא רשימת תווים המהווים מילה באנגלית ובסופה הזקיף '*'. int i = 0; char letter; Console.Write("Enter the first letter of the word: "); letter = char.parse(console.readline()); while (letter!= * ) i = i + 1; Console.Write("Enter the next letter of the word: "); letter = char.parse(console.readline()); } Console.WriteLine(i); מהי מטרת קטע התוכנית? שאלה 7.28 פתחו אלגוריתם אשר הקלט שלו הוא רשימת ציונים (נתונים כמספרים שלמים) בין 0 ל- 100 אשר בסופה הזקיף 101, והפלט שלו הוא מספר הציונים ברשימה הגדולים או שווים ל- 60. ישמו את האלגוריתם בשפת #C. שאלה 7.29 אלון ובני מתחרים על תפקיד יושב ראש ועדת קישוט של הכיתה, מועמד זוכה אם יותר מחצי מן הבוחרים הצביעו עבורו. פתחו וישמו אלגוריתם אשר הקלט שלו הוא סדרה של התווים A ו- B (A עבור אלון, B עבור בני), המבטאת את קולות הבוחרים, ומסתיימת בזקיף '#'. הפלט שלו הוא הודעה אם אלון זכה או לא זכה ברוב קולות (כלומר ביותר מחצי מקולות הבוחרים). למשל, עבור הקלט ABBAABBAA# הפלט המתאים הוא:,Alon wins ועבור הקלט.Alon didn t win הפלט המתאים הוא: ABBABBAA# להעמקה בתבנית איסוף בקיזוז פנו לסעיף התבניות המופיע בסוף הפרק. שאלה 7.30 בבחירות לוועד חיות היער מועמדות שלוש חיות: העכבר שמספרו 1, האריה שמספרו 2, והנמלה שמספרה 3. פתחו אלגוריתם אשר הקלט שלו הוא רשימת קולות הבוחרים (כל קול הוא אחד מן המספרים 2 1, או 3) ובסופה הזקיף 0. הפלט הוא הודעה המתארת עד כמה צריכות חיות היער להיזהר: אם האריה קיבל פחות מ- 30% מהקולות עליהן להיזהר מאוד, אם האריה קיבל בין 31% ל- 70% מהקולות עליהן להיזהר קצת, ואם האריה קיבל יותר מ- 71% מהקולות הן יכולות להיות רגועות ואינן צריכות להיזהר כלל. ישמו את האלגוריתם בשפת #C. ומסתיימת מילה באנגלית, סדרת תווים המהווה שאלה 7.31 פתחו אלגוריתם אשר הקלט שלו הוא בזקיף '*'. הפלט שלו הוא מילת הקלט והיא מוצפנת באופן הבא: כל אות במילה מוחלפת באות העוקבת לה "בצורה מעגלית" ב-א"ב האנגלי (כלומר, כל אות מלבד האות Z מוחלפת באות העוקבת לה, והאות Z מוחלפת באות A). למשל עבור הקלט ZEBRA* הפלט הוא.AFCSB ישמו את האלגוריתם בשפת #C

26 שאלה 7.32 טורניר השש-בש מתחיל, אך איבדתם את הקוביות! פתחו אלגוריתם אשר מדמה הטלת שתי קוביות ומציג את תוצאות ההטלה. האלגוריתם מדמה את ההטלות עד שתוצאת ההטלה היא "שש-בש", כלומר צמד המספרים 5 ו- 6 או 6 ו- 5. לסיום האלגוריתם מציג כפלט את מספר ההטלות שהתבצעו עד שהתקבלה התוצאה שש-בש. ישמו את האלגוריתם בשפת #C. ביצוע-חוזר עם תנאי כניסה כלשהו בעיה 8 מטרת הבעיה בזקיף. ופתרונה: הצגת שימוש בהוראה לביצוע-חוזר-בתנאי כניסה כלשהו שאינו תלוי? בתוכנית "הנוסע המתמיד" של חברת התעופה "שחקים" ניתן לצבור מרחקי טיסות. נוסע אשר צובר למעלה מ קילומטרים זוכה בכרטיס טיסה חינם להונולולו. פתחו וישמו אלגוריתם אשר הקלט שלו הוא רשימת מרחקי הטיסות של נוסע אשר זכה בכרטיס חינם (כלומר ידוע שכבר צבר יותר מ ק"מ). הפלט שלו הוא: מספר המרחקים המופיעים ברצף מתחילת הרשימה אשר סכומם המצטבר עולה על 3000, ומספר הקילומטרים שנשארו לנוסע מעבר ל כּ י ת ר ה לצבירות הבאות. למשל עבור הקלט: הפלט המתאים הוא 5, 150 משום שסכומם של כל חמשת המרחק ים עולה על 3000, ואחרי שמופחת מסכום המרחקים הערך 3000 נשארת יתרה של 150. ניתוח הבעיה בעזרת דוגמאות שאלה 7.33 מהו הפלט המתאים עבור כל אחד מן הקלטים הבאים: א ב ברור שבפתרון הבעיה יש לצבור את המרחקים הנתונים. כלומר יש לבצע לולאה שבה ייקלט מרחק נתון ויתווסף לצובר. אך כמה פעמים יש לבצע זאת? בניגוד לבעיות בסעיפים הקודמים שאורך רשימת איברי הקלט בהם היה נתון, או שניתן לנו סימן מיוחד לסיום הקלט (זקיף), בבעיה זו יש לקלוט מרחקים ולהוסיפם לצובר כל עוד ערכו של הצובר איננו גדול מ ברגע שערכו של הצובר גדול מ אין צורך להמשיך בפעולות הקליטה והצבירה. מכאן נובע שיש לבצע את פעולות הקליטה והצבירה רק כל עוד מתקיים התנאי הבא: 3000-ì äååù åà ïè øáöðä çøîä פירוק הבעיה לתת-משימות כל עוד המרחק הנצבר קטן או שווה ל יש לחזור על ביצוע התת-משימות הבאות: קליטת מרחק נתון הוספת המרחק הנתון לצובר הגדלה ב- 1 של "מונה המרחקים"

27 המונה המוזכר בתת-משימה האחרונה ימנה את מספר המרחקים שנצברו בצובר. כאשר יסתיים ביצוע הלולאה, ישמור מונה זה את מספר המרחקים שנצברו עד שהסכום המצטבר עלה על בחירת משתנים dist מטיפוס שלם, ישמור מרחק תורן בקלט sum מטיפוס שלם, צובר שישמור את סכום המרחקים המצטבר counter מטיפוס שלם, מונה שישמור את מספר המרחקים שנצברו האלגוריתם 0-á sum úà ìçúà.1 0-á counter úà ìçúà.2.3 dist-á çøîä úà èåì.3.1 sum-ì dist úà óñåä.3.2 counter úà 1-á ìãâä.3.3 counter ìù åëøò úà âöä.4 sum-3000 ùøôää úà âöä :òöá 3000-ì äååù åà ïè sum ãåò ìë שאלה 7.34 א. ישמו את האלגוריתם בשפת #C. ב. בנו טבלת מעקב אחר ביצוע התוכנית (לפתרון בעיה 8) עבור הקלט: כמה פעמים יתבצע גוף הלולאה? שימו : בכל ביצוע-חוזר של הלולאה נקלט מרחק טיסה אחד, ולכן הערך השמור במשתנה counter הוא בעצם מספר הפעמים שמתבצעת הלולאה. 8 פתרון בעיה סוף שאלה 7.35 נסחו תנאי כניסה בוליאני מתאים עבור כל אחד מן התיאורים הבאים של ביצוע-חוזר: א. סכימת משקלי מכוניות (לצורך מעבר במעבורת) כל עוד הסכום אינו עולה על 100 טון. ב. סכימת המספרים החיוביים השלמים המתחילים ב- 1 עד אשר הסכום גדול מהערך הנתון כקלט. ג. קריאת אותיות עד אשר נקלטות 10 אותיות A. שימו : בסעיף א מתואר הביצוע-החוזר במתכונת של כל עוד ובסעיפים ב ו-ג מתואר הביצוע-החוזר במתכונת של עד אשר. שאלה 7.36 בכל אחד מן הסעיפים הבאים מופיע קטע תוכנית הכולל משפט while ובו תנאי הכניסה חסר. השלימו את תנאי הכניסה לפי מטרת קטע התוכנית, ובנו טבלת מעקב אחר ביצוע הקטע השלם. א. מטרת הקטע: הצגה של המספר הזוגי הקטן ביותר אשר גדול מנתון הקלט בהינתן שהקלט הוא מספר חיובי. Console.Write("Enter a number: "); num = int.parse(console.readline()); i = 0;

28 ב. while ( ) i = i + 2; Console.WriteLine(i); בנו טבלת מעקב אחר ביצוע קטע התוכנית השלם עבור הקלט 9. מטרת הקטע: הצגה של מכפלת שני נתוני הקלט, בהינתן שהם מספרים שלמים חיוביים. Console.Write("Enter a number: "); x = int.parse(console.readline()); Console.Write("Enter a number: "); y = int.parse(console.readline()); counter = 0; sum = 0; while ( ) sum = sum + x; counter = counter + 1; } Console.WriteLine(sum); בנו טבלת מעקב אחר ביצוע קטע התוכנית השלם עבור הקלט 4. 3 שאלה 7.37 נתון קטע התוכנית הבא אשר הקלט שלו הוא מספר חיובי שלם: Console.Write("Enter a number: "); limit = int.parse(console.readline()); s = 0; c = 0; while (s < limit) c = c + 1; s = s + c; } Console.WriteLine(c); קטע התוכנית כולל מונה c וצובר s. הצובר צובר את ערכיו של המונה במהלך הביצוע-החוזר. א. מהו הפלט עבור הקלט 1? מהו הפלט עבור הקלט 11? ב. ציינו שני קלטים שונים שעבורם יהיה הפלט 5. מהו מספר הפעמים לביצוע-החוזר עבור קלטים אלה? ג. מהי מטרת קטע התוכנית? היעזרו בטבלת מעקב כדי לענות על סעיפים א ו-ב. שאלה 7.38 נתון קטע התוכנית הבא אשר הקלט שלו הוא מספר חיובי שלם, ו- TOP_LIMIT הוא קבוע שערכו 100: Console.Write("Enter a number: "); num = int.parse(console.readline()); mult = 1; i = 0; while ((i < num) && (mult < TOP_LIMIT)) i = i + 1; mult = mult * i;

29 } Console.WriteLine(mult); קטע התוכנית הנתון כולל צובר mult אשר צובר ערך של מכפלה, והוא מאותחל בערך 1. א. מהו הפלט עבור הקלט? 2 ומהו הפלט עבור הקלט 5? ב. מהו הקלט שעבורו יהיה הפלט 24? ומהו מספר הפעמים של הביצוע-החוזר עבור קלט זה? ג. מהי מטרת קטע התוכנית? היעזרו בטבלת מעקב כדי לענות על סעיפים א ו-ב. שאלה 7.39 פתחו אלגוריתם אשר הקלט שלו הוא מספר חיובי שלם, והפלט שלו הוא החזקה הקטנה ביותר 3 של 2 אשר גדולה מנתון הקלט. למשל: עבור הקלט 7 הפלט הדרוש הוא 8 (כי 8= 2), ועבור הקלט 4 8 הפלט הדרוש הוא 16 (כי 16= 2). ישמו את האלגוריתם בשפת #C. במהלך הפיתוח הקפידו על ניסוח תת-משימות לביצוע-חוזר ועל ניסוח תנאי לביצוע-חוזר. שימו : באלגוריתם זה יש להשתמש בצובר של מכפלה, ולא בפעולת החזקה Pow המוגדרת במחלקה.Math בלולאות while שראינו עד כה תנאי הכניסה היו דומים למדי זה לזה. הם כללו תמיד השוואה של משתנה, אשר ערכו גדל במהלך הביצוע-חוזר של הלולאה, לחסם אשר נשמר במשתנה או נקבע מפורשות. הביצוע-החוזר הסתיים כאשר ערכו של המשתנה גדל ועבר את החסם (או השתווה לו). אבל תנאי כניסה כאלה הם רק סוג אחד של תנאי כניסה ללולאה. בפתרון הבעיה הבאה נראה דוגמה לתנאי כניסה מסוג אחר. 9 בעיה מטרת הבעיה ופתרונה: הצגת תבנית פירוק מספר שלם חיובי כלשהו לספרותיו. פתחו וישמו אלגוריתם אשר הקלט שלו הוא מספר שלם חיובי והפלט שלו הוא מספר ספרות המספר. למשל: עבור ה קלט 31 הפלט הדרוש הוא 2 ועבור הקלט הפלט הדרוש הוא 5. בפרקים קודמים כבר עסקנו בפירוק של מספר שלם לספרותיו, אך שם מספר ספרותיו היה קטן וידוע. בבעיה הנתונה מספר הספרות איננו ידוע ויכול להיות גדול מאוד. פירוק הבעיה לתת-משימות מה יהיו התת-משימות לביצוע-חוזר עבור מניית ספרות המספר? ומה יהיה התנאי לחזרה על ביצוע תת-משימות אלה? נוכל "לקצץ" את ספרות המספר אחת אחת ולמנות את מספר הספרות הנקצצות. נעשה זאת באמצעות תת-משימות לביצוע-חוזר הכוללות קיצוץ ספרה מן המספר והגדלת מונה ב- 1. קיצוץ ספרה יתבצע באמצעות חלוקה בשלמים של המספר ב- 10 ח. לוקה זו תביא לקיצוץ ספרת האחדות (הספרה הימנית ביותר). למשל במקום המספר 534 יתקבל המספר 53. אם כך, ננסח את התת-משימות הבאות לביצוע-חוזר: קיצוץ ספרת האחדות הגדלה ב- 1 של מונה הספרות

30 יש לבצע תת-משימות אלו כל עוד "יש מה לקצץ", כלומר כל עוד המספר הנותר במהלך הביצוע- החוזר גדול מ- 0. לכן התנאי לביצוע-חוזר יהיה: î-0. ìåãâ øúåðä øôñîä בחירת משתנים נבחר שני משתנים מטיפוס שלם: num ישמור את המספר הניתן כקלט, וספרותיו נקצצות digits מונה שישמור את מספר הספרות שנקצצו יישום האלגוריתם /* קלט: מספר חיובי שלם פלט: מספר הספרות במספר הנתון */ using System; public class DigitCount public static void Main () מספר הספרות // 0; = digits int int num; המספר המעובד // Console.Write("Enter a number: "); num = int.parse(console.readline()); while (num > 0) num = num / 10; digits++; } Console.WriteLine("The number of digits is 0}", digits); }// Main }//DigitCount 9 פתרון בעיה סוף להעמקה בתבניות הפרק. פירוק מספר לספרותיו ובניית מספר פנו לסעיף התבניות המופיע בסוף שאלה 7.40 א. שנו את התוכנית DigitCount לפתרון בעיה 9, כך שהפלט יכלול את סכום ספרות המספר, למשל עבור הקלט 153 הפלט המתאים הוא 9. ב. שנו את התוכנית DigitCount לפתרון בעיה 9, כך שהפלט יכלול רק את מספר הספרות האי-זוגיות במספר הנתון. למשל עבור הקלט 150 הפלט המתאים הוא 2. ג. שנו את התוכנית DigitCount לפתרון בעיה 9, כך שהפלט יכלול רק את מכפלת ספרות המספר. שימו לב לאתחול נכון של המשתנה השומר את המכפלה. שאלה 7.41 נתון קטע התוכנית החלקי הבא, אשר הקלט שלו הוא שני מספרים שלמים חיוביים x ו- y ומטרתו היא הצגת שארית החלוקה בשלמים של x ב- y (כלומר תוצאת החישוב.(x%y בקטע התוכנית מתבצע החישוב הדרוש באמצעות פעולת חיסור

31 Console.Write("Enter a number: "); x = int.parse(console.readline()); Console.Write("Enter a number: "); y = int.parse(console.readline()); while ( ) x = x y; Console.WriteLine( ); השלימו את קטע התוכנית. שאלה 7.42 שנו את הקטע הנתון בשאלה הקודמת כך שיציג גם את מנת החלוקה של x ב- y, (כלומר את תוצאת החישוב.(x/y יש לבצע את החישובים הדרושים באמצעות פעולות חיבור וחיסור בלבד! שאלה 7.43 שני תלמידים המשחקים זה נגד זה מותחים בתחילת המשחק קו באורך N סנטימטרים (1 > N). השחקנים מחליפים תורות לסירוגין. כל שחקן מקצר בתורו את הקו לחצי מאורכו. השחקן אשר מקצר בתורו את הקו לאורך של פחות מסנטימטר אחד מנצח במשחק. למשל אם אורכו של הקו הוא 8 ס"מ, השחקן הראשון יקצר את הקו ל- 4 ס"מ והשחקן השני יקצר את הקו ל- 2 ס "מ, השחקן הראשון יקצר את הקו לס"מ אחד והשחקן השני יקצר את הקו ל- 0.5 ס"מ וינצח במשחק. פתחו וישמו אלגוריתם אשר הקלט שלו הוא אורכו ההתחלתי של הקו, והפלט שלו הוא הודעה מיהו השחקן המנצח (הראשון או השני). שאלה 7.44 במשחק אסימונים שחקן מניח 2 אסימונים בתור הראשון, 4 אסימונים בתור השני, 8 אסימונים בתור השלישי, וכך הלאה בכל תור מוכפל מספר האסימונים. נתון קטע התוכנית הבא אשר הקלט שלו הוא מספר האסימונים ההתחלתי של השחקן, והפלט שלו צריך להיות המספר הסידורי של התור אשר בו לא ניתן להמשיך לשחק לפי השיטה המתוארת. למשל, עבור הקלט המייצג מספר אסימונים התחלתי 9, הפלט הדרוש הוא 3, כיוון שאחרי שהניח 2 אסימונים בתור הראשון ו- 4 אסימונים נוספים בתור השני יוותרו לשחקן רק 3 אסימונים (ולא 8 אסימונים, כפי שנדרש לתור השלישי). קטע התוכנית שגוי. המספר הסידורי של התור הנוכחי // ;0 = turn int מספר אסימונים למשחק בתור הנוכחי // ;0 = tokensincurrentturn int סכום אסימונים כולל בתורות שהתבצעו עד כה // ;0 = totalplayedtokens int מספר אסימונים התחלתי // starttokens; int Console.Write("Enter number of tokens to start with: "); starttokens = int.parse(console.readline()); while (totalplayedtokens <= starttokens) turn = turn + 1; tokensincurrentturn = tokensincurrentturn * 2; totalplayedtokens = totalplayedtokens + tokensincurrentturn; } Console.WriteLine("The game cannot go on after 0} turns", turn); ציינו מהי השגיאה ותקנו אותה

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. סריקה לרוחב פרק 3 ב- Kleinberg/Tardos קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. קשירות.s,t V שני צמתים,G=(V,E) קלט:

More information

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ ניפוי שגיאות )Debug( מאת ישראל אברמוביץ בדף העבודה יש תירגול בסביבת העבודה לשפת #C לסביבות עבודה אחרות. )2015 )Visual Studio אך היא מתאימה גם לשפת Java וגם o 1. ריצה של כל התוכנית ועצירה בסוף יש לבחור

More information

5.1 הוראה לביצוע-בתנאי

5.1 הוראה לביצוע-בתנאי פרק 5 ביצוע מותנה בשני הפרקים הקודמים ראינו אלגוריתמים שבמהלך ביצועם מתבצעת כל אחת מהוראות האלגוריתם. בפרק זה נכיר אלגוריתמים אשר במהלך ביצועם לא מתבצעות תמיד כל הוראות האלגוריתם. אלגוריתמים אלה כוללים

More information

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10 תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית: שאלות לפי נושאים: 3 שאלות העוסקות בנוסחת האיבר הכללי: 3 שאלות העוסקות בסכום סדרה חשבונית: 4 שאלות מסכמות: 5 תשובות סופיות: 8 סיכום תכונות הסדרה ההנדסית:

More information

בוחן בתכנות בשפת C בצלחה

בוחן בתכנות בשפת C בצלחה בוחן בתכנות בשפת C ) כתוב תכנית הקולטת ממשתמש מספרים שלמים ומדפיסה כמה מספרים היו גדולים מ-, כמה מספרים היו קטנים מ-, וכמה מספרים היו שווים ל-. 2) כתוב תכנית הקלטת עשרה מספרים טבעיים ומחשבת את הממוצע שלהם.

More information

מבוא למחשב בשפת פייתון

מבוא למחשב בשפת פייתון 234221 מבוא למחשב בשפת פייתון 3 מבני בקרה ולולאות פרופ' ראובן בר-יהודה דין לייטרסדורף הפקולטה למדעי המחשב הטכניון מכון טכנולוגי לישראל נערך ע"י יעל ארז 1 פקודות והזחות 2 פקודה פשוטה >>> 3+2 5 >>> x = 5

More information

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: שאלה 1 עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: 99 80 50 15 40 34 30 22 10 13 20 13 9 8 א. ב. ג. האם העץ

More information

פרק 10 מערכים 10.1 מערך ואיברי מערך 1 בעיה. המשתתפים. ישמו את האלגוריתם בשפת.Java שאלה 10.1 שווים ל- 4.60? קליטת נתוני הקלט, שמירתם וצבירתם

פרק 10 מערכים 10.1 מערך ואיברי מערך 1 בעיה. המשתתפים. ישמו את האלגוריתם בשפת.Java שאלה 10.1 שווים ל- 4.60? קליטת נתוני הקלט, שמירתם וצבירתם פרק 10 מערכים האלגוריתמים שפיתחנו לפתרון בעיות שונות בפרקים הקודמים היו שונים ומגוונים הם היו שונים זה מזה בפרט בכמות המידע שנקלט בהם, כלומר בגודל הקלט אבל בכל האלגוריתמים שהצגנו עד כה, גם כאשר כמות המידע

More information

למבחן ביסודות מדעי המחשב דוגמא

למבחן ביסודות מדעי המחשב דוגמא פרק א' למבחן ביסודות מדעי המחשב דוגמא כתוב תכנית הקולט מספר למשתנה N ולאחריו N מספרים שלמים ומדפיס את כמות המספרים המתחלקים ב 3 - ללא שארית. (10 נקודות). כתוב ביטוי בוליאני המייצג את התנאי הבא: ספרת העשרות

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 שאלה )מועד א 2013( לפניך מספר הגדרות: תת מילה של המילה word הינה רצף של אותיות עוקבות של word פלינדרום באורך le היא מילה בעלת le אותיות שניתן לקרוא אותה משמאל לימין וגם מימין

More information

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

שאלות חזרה לקראת מבחן מפמר אינטרנט וסייבר שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר שאלה.1 ייצוג מידע בטבלה שלפניכם מספרים בבסיס. כל מספר מיוצג ע"י 5 סיביות. 10011 = 01100 = 00111 = 11000 = 11010 = 00101 = 10000 = 01111 = ד. יש להשלים את הערך

More information

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk מכונת מצבים סופית תרגול מס' 4 1 מכונת מצבים סופית Finite State Machine (FSM) מודל למערכת ספרתית מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות...,I3,I1,I2 בא"ב input out פלט: סדרה אינסופית של אותיות O

More information

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת. 1 (Liquid Crystal Display) תצוגת LCD בפרויקט ישנה אפשרות לראות את כל הנתונים על גבי תצוגת ה- LCD באופן ברור ונוח. תצוגה זו היא בעלת 2 שורות של מידע בעלות 16 תווים כל אחת. המשתמש יכול לראות על גבי ה- LCD

More information

ASP.Net MVC + Entity Framework Code First.

ASP.Net MVC + Entity Framework Code First. ASP.Net MVC + Entity Framework Code First 1 הקדמה בפרק הזה יוצג שימוש בFirst EntityFramework Code עבור ה use case הבאים : ASP.Net MVC ASP.Net Web API ASP.Net MVC + Scaffolding הערה : Framework Entity הוצג

More information

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

סהכ נקודות סהכ 31 נקודות סהכ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט מבחן 0220 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5

More information

יסודות מבני נתונים. תרגול :9 ערימה - Heap

יסודות מבני נתונים. תרגול :9 ערימה - Heap יסודות מבני נתונים תרגול :9 ערימה - Heap maximum שאלה: כמה זמן לוקח לחפש איבר בערימה? תשובה:,O(n) למרות שבערימה קיים סדר מסויים. Heaps 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 דוגמה: 7 11 13 21 12 17 20 34

More information

Patents Basics. Yehuda Binder. (For copies contact:

Patents Basics. Yehuda Binder. (For copies contact: Patents Basics Yehuda Binder (For copies contact: elissa@openu.ac.il) 1 Intellectual Property Value 2 Intellectual Property Rights Trademarks Copyrights Trade Secrets Patents 3 Trademarks Identify a source

More information

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of the rule. (Choose three cards appropriate to the lesson

More information

אנגלית (MODULE E) בהצלחה!

אנגלית (MODULE E) בהצלחה! 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016481 מספר השאלון: א. משך הבחינה: שעה ורבע אנגלית שאלון ה' (MODULE E) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה: בשאלון זה

More information

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי( בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"א, 2011 מועד הבחינה: משרד החינוך 016117 מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת א. משך הבחינה: שעה וחצי שאלון

More information

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א' תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך מקום להדבקת מדבקת נבחן א נ ג ל י ת סוג בחינה: מועד הבחינה: מספר השאלון: מבחן מטה לבתי ספר תיכוניים חורף תשע"ד 29.01.2014 מותאם לשאלון א' של בחינת הבגרות שסמלו

More information

מושגים בסיסיים תלמידים והורים יקרים,

מושגים בסיסיים תלמידים והורים יקרים, אחוזים מושגים בסיסיים תלמידים והורים יקרים, לפניכם קובץ ובו מושגים בסיסיים בשאלות אחוזים. הקובץ מכיל 12 מושגים. רצוי לעבור על חומר הלימוד לפני המעבר על המבחנים. ניתן להדפיס קובץ זה כדי שיהיה לפני התלמיד/ה

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק בול פגיעה שעור 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00045000 I.M 2ND 00039500

More information

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G) 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016582 מספר השאלון: א. משך הבחינה: שעה וארבעים וחמש דקות אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה:

More information

הקיטסיגול הרבחה יעדמל בלושמה גוחה

הקיטסיגול הרבחה יעדמל בלושמה גוחה ניהול מערכות תובלה ושינוע זרימה ברשת עץ פורס מינימאלי Minimal Spanning Tree הבעיה: מציאת חיבור בין כל קודקודי גרף במינימום עלות שימושים: פריסת תשתית אלגוריתם חמדן (Greedy) Kruskal(1956) Prim(1957) השוואה

More information

Redirection The Input Buffer

Redirection The Input Buffer מבוא לשפת C תירגול 3: טיפוסים והמרות 1 מה היה שבוע שעבר? משתנים קלט/פלט scanf) ו- printf ) Redirection The Input Buffer 2 תוכנייה טיפוסי משתנים קלט/פלט מעוצב המרה בין טיפוסים 3 חישוב ממוצע בין שני מספרים

More information

A R E Y O U R E A L L Y A W A K E?

A R E Y O U R E A L L Y A W A K E? A R E Y O U R E A L L Y A W A K E? ב ר ו ך א ת ה י י א לה ינ ו מ ל ך ה עו ל ם, ה מ ע ב יר ש נ ה מ ע ינ י ות נ ומ ה מ ע פ ע פ י Blessed are You, Hashem our God, King of the Universe, who removes sleep from

More information

שאלון ו' הוראות לנבחן

שאלון ו' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ו, מועד ב מספר השאלון: 406 016107, י ת ל ג נ א שאלון ו' )MODULE F( הוראות לנבחן א. משך הבחינה:

More information

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית. בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. א. משך הבחינה: שעה ורבע מועד הבחינה: חורף תשס"ז, 2007 מספר השאלון: 406 016107, א נ ג ל י

More information

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

ANNEXURE E1-1 FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) Dear Sirs, Re: Standby Letter of Credit No: Please advise the

More information

שאלון ד' הוראות לנבחן

שאלון ד' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ה, מועד ב מספר השאלון: 404 016105, י ת ל ג נ א שאלון ד' )MODULE D( הוראות לנבחן א. משך הבחינה:

More information

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה. שם: ת.ז: ציון: Computer Structure Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה. שאלה 1 appleממש מערכת אשר קולטת בכל מחזור שעון ביט קלט בודדX. כדי להגדיר את הפלט של המערכת במחזור השעון הappleוכחי

More information

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary בגרות סוג הבחינה: מדינת ישראל קיץ תשע"ז, 2017, מועד ב מועד הבחינה: משרד החינוך 403 016104, מספר השאלון: אנגלית שאלון ג' (MODULE C) ג רסה א' הוראות לנבחן א. משך הבחינה: שעה וחצי ב. מבנה השאלון ומפתח ההערכה:

More information

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך מקום להדבקת מדבקת נבחן סוג בחינה: מועד הבחינה: מספר השאלון: מבחן מטה לבתי ספר תיכוניים חורף תשע"ד 29.01.2014 מותאם לשאלון ב' של בחינת הבגרות שסמלו 016103 א

More information

שאלון ו' הוראות לנבחן

שאלון ו' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ה, מועד ב מספר השאלון: 406 016107, י ת ל ג נ א שאלון ו' )MODULE F( הוראות לנבחן א. משך הבחינה:

More information

פרק מיון וחיפוש - לשם מה? הגדרה

פרק מיון וחיפוש - לשם מה? הגדרה פרק מיון וחיפוש - לשם מה? מה הוא מיון? מיון נתונים הוא סידורם בסדר עולה או יורד. מיון יכול להיות מספרי או אלפביתי. ברשימת נתונים ממוינת ניתן לייעל את זמן איתור הנתונים. מה הוא חיפוש? חיפוש הוא תהליך איתור

More information

המבנה הגאומטרי של מידה

המבנה הגאומטרי של מידה התוכנה מאפשרת לרשום מידות מסוגים שונים בסרטוט, במגוון סגנונות ובהתאם לתקנים המקובלים. רצוי לבצע מתן מידות בשכבה המיועדת לכך. לכל מידה יש תכונות של בלוק. תהליך מתן המידות מתחיל תמיד מקביעת סגנון המידות.

More information

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי )

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי ) בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. חורף תשע"ג, 2013 מועד הבחינה: 407 016108, מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית

More information

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה! בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. תשס"ז, מועד ב מועד הבחינה: מספר השאלון: 402 016103, א. משך הבחינה: שעה ורבע א נ ג ל י ת

More information

(MODULE E) ב ה צ ל ח ה!

(MODULE E) ב ה צ ל ח ה! סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה מועד הבחינה: קיץ תשס"ד, 2004 מספר השאלון: 016106 י ת ל ג נ א שאלון ה' (MODULE E) הוראות לנבחן א. משך הבחינה: שעה ורבע בשאלון זה שני פרקים.

More information

Practical Session No. 13 Amortized Analysis, Union/Find

Practical Session No. 13 Amortized Analysis, Union/Find Practical Session No. 13 Amortized Analysis, Union/Find Amortized Analysis Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש מאגר מעבדות לשפות התכנות החדשות ניתן להשתמש בחומרים לצורך הוראה בלבד. לא ניתן לפרסם את החומרים או לעשות בהם כל שימוש מסחרי ללא קבלת אישור מראש מצוות הפיתוח בראשות ד"ר תמר פז. המעבדה בקובץ זה מיועדת לתלמידים

More information

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "סטטיסטיקה והסתברות" בשאלון 802 שבאתר

לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל סטטיסטיקה והסתברות בשאלון 802 שבאתר 11 סטטיסטיקה 802 1. לפניכם ההתפלגות של יבול עגבניות בטונות, במספר מסוים של חלקות שדה: 9 7 8 12 7 7 6 8 4 x יבול בטונות שכיחות ממוצע היבול לחלקה הוא 7 טון. מצאו בכמה חלקות שדה יבול העגבניות היה 4 טון? א.

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ב, מועד ב מועד הבחינה: משרד החינוך מספר השאלון: 016117 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א. משך הבחינה: שעה וחצי אנגלית שאלון

More information

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש מאגר מעבדות לשפות התכנות החדשות ניתן להשתמש בחומרים לצורך הוראה בלבד. לא ניתן לפרסם את החומרים או לעשות בהם כל שימוש מסחרי ללא קבלת אישור מראש מצוות הפיתוח בראשות ד"ר תמר פז. המעבדה בקובץ זה מיועדת לתלמידים

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ג, 2013 מועד הבחינה: משרד החינוך מספר השאלון: 016115 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון ד' (MODULE D) א. משך הבחינה:

More information

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך מדינת ישראל משרד החינוך מינהל חברה ונוער מבחן באנגלית שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: מנהל מרכז השכלה: שם: שם מרכז ההשכלה /מוסד : ציון: תאריך בדיקת המבחן: כולה שהמערכת מוסרית, ומוסרית ערכית רואים

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 Translated from the Hebrew Sharf Translations Message sent From: Tomer Shohat

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. קיץ תשע"ד, מועד ב, 2014 מועד הבחינה: מספר השאלון: 416 016117, Thinking Skills נספח: כישורי

More information

THINKING ABOUT REST THE ORIGIN OF SHABBOS

THINKING ABOUT REST THE ORIGIN OF SHABBOS Exploring SHABBOS SHABBOS REST AND RETURN Shabbos has a multitude of components which provide meaning and purpose to our lives. We will try to figure out the goal of Shabbos, how to connect to it, and

More information

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה! בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. חורף תשס"ח, 2008 מועד הבחינה: מספר השאלון: 402 016103, א. משך הבחינה: שעה ורבע א נ ג ל י

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ב, מועד ב מועד הבחינה: משרד החינוך מספר השאלון: 016115 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון ד' (MODULE D) א. משך הבחינה:

More information

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

ãówh,é ËÓÉÔê ÌW W É Å t Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH * .1.2.3 (X).1.2.3.4.5.6 בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל חורף תשע"ג, 2013 מועד הבחינה: משרד החינוך מספר השאלון: 016117 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון

More information

תרגול 8. Hash Tables

תרגול 8. Hash Tables תרגול Hash Tables ds-ps חידה מהשיעור הקודם בכל השקים המטבעות שוקלים ורק בשק אחד המטבעות שוקלים.. מותר לנו לבצע שקילה אחת בלבד! איך נדע מה השק הקל יותר? שקים עם מטבעות ds-ps מה היה לנו דיברנו על מבני נתונים

More information

מבנה התכנית יסודות מדעי המחשב התכנית הראשונה שלי

מבנה התכנית יסודות מדעי המחשב התכנית הראשונה שלי 2-1 מבנה התכנית התכנית הראשונה שלי מחלקה מגדירה עצם. עצמים מתקשרים ביניהם באמצעות תכנית מ נ ח ה. בפרקים הבאים נכיר את המנחה ואת הוראות השפה, ובהמשך נלמד לשלב גם עצמים. לפניך תכנית בשפת #C. התכנית קולטת

More information

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. חורף תשע"ג, 2013 מועד הבחינה: 403 016104, מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית

More information

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי WPF-Windows Presentation Foundation Windows WPF טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי Client חכמים המשלב ממשקי משתמש,תקשורת ומסמכים. מטרת התרגיל : ביצוע אנימציה לאליפסה ברגע

More information

בהוראה: הפעולה new מקצה זיכרון עבור עצם בשם s1 המפנה לזיכרון שהוקצה. במקרה זה העצם s1. System.out.println("Enter two numbers:"); String s1;

בהוראה: הפעולה new מקצה זיכרון עבור עצם בשם s1 המפנה לזיכרון שהוקצה. במקרה זה העצם s1. System.out.println(Enter two numbers:); String s1; פרק 9 המחלקה מחרוזת (String) בתוכניות שכתבנו עד כה השתמשנו בטיפוסים שונים המוגדרים בשפת :Java שלם, ממשי, תווי ובוליאני. יכולנו להגדיר משתנים מטיפוסים אלו ולבצע עליהם פעולות שונות (קלט, פלט, חישובים וכו').

More information

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. קיץ תשע"ד, מועד ב, 2014 מועד הבחינה: מספר השאלון: 414 016115, Thinking Skills נספח: כישורי

More information

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ב, 2012 מועד הבחינה: משרד החינוך מספר השאלון: 016115 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית שאלון ד' (MODULE D) א. משך הבחינה:

More information

התכנית הראשונה שלי

התכנית הראשונה שלי 2-1 מבנה התכנית התכנית הראשונה שלי מחלקה מגדירה עצם. עצמים מתקשרים ביניהם באמצעות תכנית מ נ ח ה. בפרקים הבאים נכיר תחילה את המנחה ואת הוראות השפה, ובהמשך נלמד לשלב גם עצמים. לפניך תכנית בשפת.Java התכנית

More information

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES Sinning in Disguise Like people of all faiths, Jews sometimes do things or go to places they are not supposed to. This session is not about

More information

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור קארדינטת קטבית y p p p במישר,y הגדרנ נקדה על ידי המרחקים מהצירים. ז מערכת ישרת זית )קרטזית( אשר בה יש לנ צירים מאנכים זה לזה. באת מישר ניתן להגדיר נקדה על ידי זית רדיס קטר. (, ) הרדיס קטר מסתבב )נגד כין

More information

בחינת בגרות, תשע"ז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן

בחינת בגרות, תשעז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן מדעי המחשב פרק ראשון Jv שאלה 1 C# עמוד 1 Jv שאלה 2 C# עמוד 2 שאלה 3 1 2 3 5 7 11 13 3 א. הפלט עבור = 15 n עמוד מטרת הפעולה: הכברה של ארתוסטנס חישוב והדפסת כל המספרים הראשוניים עד n. )כברה = מסננת( )הפעולה

More information

תרגול 11 תור עץ חיפוש בינארי

תרגול 11 תור עץ חיפוש בינארי 2018 מבוא למדעי המחשב תרגול 11 תור עץ חיפוש בינארי ראינו בהרצאות מבני נתונים נוספים עצים בינאריים עצי חיפוש בינאריים תור מחסנית נראה בתרגול מבני נתונים חדשים תור ממשק + מימוש + שאלה עץ חיפוש בינארי תזכורת

More information

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative Hebrew Ulpan HEB 011-031 Young Judaea Year Course in Israel American Jewish University College Initiative Course Description Hebrew is not only the Sacred Language of the Jewish people, but it is also

More information

פרק מושגים חדשים שימוש בפונקציות לשם מה?

פרק מושגים חדשים שימוש בפונקציות לשם מה? פרק 9 שימוש בפונקציות לשם מה? השימוש בפונקציות מסייע לבצע פעולות מורכבות בקלות וביעילות. בשפת Java קיימות ספריות המכילות אוספים של פונקציות מוכנות. הפונקציות בספריה הוגדרו ונכתבו מראש על ידי מתכנני השפה

More information

מדדי מרכז הגדרה: מדדים סטטיסטיים המשקפים את הנטייה המרכזית של ההתפלגות מדדי מרכז מרכז ההתפלגות

מדדי מרכז הגדרה: מדדים סטטיסטיים המשקפים את הנטייה המרכזית של ההתפלגות מדדי מרכז מרכז ההתפלגות שיעור מדדי מרכז מדדי מרכז הגדרה: מדדים סטטיסטיים המשקפים את הנטייה המרכזית של ההתפלגות מדדי מרכז מרכז ההתפלגות modeשכיח medianחציון meanממוצע שכיח MODE הגדרה: הנתון בעל השכיחות הגבוהה ביותר תכונות השכיח

More information

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015 1 U n t er r ich t splan חיבור וחיסור זוויות :Altersgruppe כיתה ד, כיתה ה :Online-Ressourcen מכל זווית אפשרית פתיחה הצגת המשחק תלמידים משחקים סיום 1 min 20 min 1 2 min 1 2 min מטרות לימודיות להתנסות במודל

More information

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces 1 הבסיס כתיבת התכנית הראשונה שימוש במשתנים הטיפוס הבסיסי object הטיפוס הבסיסי string משפטי בקרה שימוש ב- Enumerations שימוש ב- Namespaces המתודה Main כתיבת הערות פקודות קדם מהדר 2 כתיבת התכנית הראשונה

More information

הוראת הדפסה/פלט כשנריץ קובץ זה נקבל ( 6/5/4 מחקו את המיותר( שורות "הדפסה" לדף ה- HTML בשורה 3 יודפס בשורה 6 יודפס

הוראת הדפסה/פלט כשנריץ קובץ זה נקבל ( 6/5/4 מחקו את המיותר( שורות הדפסה לדף ה- HTML בשורה 3 יודפס בשורה 6 יודפס alert("hello World"); alert("2+4"); alert(2+4); הוראת הדפסה/פלט תרגיל 1 העתיקו לקובץ וענו על השאלות הבאות השלם: כשנריץ קובץ זה נקבל 3 הודעות מוקפצות. הודעה 1 הודעה 2 הודעה 3.1 כשכותבים ביטוי חשבוני

More information

Reflection Session: Sustainability and Me

Reflection Session: Sustainability and Me Goals: Participants will: identify needs in their home communities apply their sustainability learning to the conditions of their home communities design a sustainable project idea and evaluate the ideas

More information

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמ"ר לכיתה ט', רמה מצומצמת , תשע"ב טור א'

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמר לכיתה ט', רמה מצומצמת , תשעב טור א' ה פ ו י ת ש כ ו ל מ ע י ם על ה ו ר ת ה מ ת מ ט י ק ה כ" ייר, תשע".5.0 מחוון למחן מפמ"ר לכיתה ט', רמה מצומצמת 0, תשע" שלה סעיף תשוות טור ' ניקו מפורט והערות תשוה: סעיף III נקוות תשוה מלה נק' לכל שיעור משיעורי

More information

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב

הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב בינה מלאכותית ומהפיכת הטכנולוגיה בחינוך ד ר קובי גל אוניברסיטת בן גוריון בנגב מעבדות -אתמול ד"ר קובי גל מעבדות -היום ד"ר קובי גל למידה בקבוצות -אתמול ד"ר קובי גל למידה בקבוצות -היום ד"ר קובי גל הזדמנות

More information

מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1

מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1 מבוא למדעי המחשב בשפת JAVA חוברת תרגילים תוכן עניינים מבוא למדעי המחשב בשפת JAVA חוברת תרגילים... 1 אבני הבניין של השפה... 2 תרגילי תחביר... 3.1.2 משפטי תנאי... 3 א. תרגילי תחביר ב. ג. תרגילי תחביר לולאות...

More information

The Connection between Town Planning, Public Taking (Appropriation) and Land Appraisal

The Connection between Town Planning, Public Taking (Appropriation) and Land Appraisal The Connection between Town Planning, Public Taking (Appropriation) and Land Appraisal Adv. Shahar HARARI, Israel Key words: Town Planning, Appropriation, Appraisal SUMMARY It seems illogical that the

More information

A Long Line for a Shorter Wait at the Supermarket

A Long Line for a Shorter Wait at the Supermarket A Long Line for a Shorter Wait at the Supermarket - New York Times Page 1 of 4 A Long Line for a Shorter Wait at the Supermarket Sam Baris directing customers at Whole Foods in Columbus Circle, where the

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק טקסט שעור 3 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDI 15 1S 00079000 G. 2ND 00079000 S.G 3RD

More information

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים מבוא למדעי המחשב בשפת ++C חוברת תרגילים הגשת התרגילים היא ביחידים, יש להגיש במערכת ה moodle את כל הפרוייקט כקובץ.ZIP חובה להגיש תרגיל שמתקמפל + דוגמאות פלט של ההרצה. יש להקפיד על הדברים הבאים: שמות משתנים

More information

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx 1 ברק גונן עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx לעיתים נרצה שהתוכנית תבצע פקודות רק אם מתקיים תנאי מוגדר

More information

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים

מבוא למדעי המחשב בשפת ++C - חוברת תרגילים מבוא למדעי המחשב בשפת ++C חוברת תרגילים הגשת התרגילים היא ביחידים, יש להגיש במערכת ה moodle את כל הפרוייקט כקובץ.ZIP חובה להגיש תרגיל שמתקמפל + דוגמאות פלט של ההרצה. יש להקפיד על הדברים הבאים: שמות משתנים

More information

הצעת תשובות לשאלות בחינת הבגרות אנגלית

הצעת תשובות לשאלות בחינת הבגרות אנגלית בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"ג, 2013 מועד הבחינה: משרד החינוך מספר השאלון: 016117 Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( הצעת תשובות לשאלות בחינת הבגרות אנגלית

More information

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names. Advisor Copy Before we begin, I would like to highlight a few points: Goal: 1. It is VERY IMPORTANT for you as an educator to put your effort in and prepare this session well. If you don t prepare, it

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 McLaughlin, Terence K. From: Sent: To: Cc: Subject: Follow Up Flag: Flag Status:

More information

מיהו המורה הנושר? מאפיינים דמוגרפיים,תעסוקתיים ומוסדיים של הנשירה מהוראה

מיהו המורה הנושר? מאפיינים דמוגרפיים,תעסוקתיים ומוסדיים של הנשירה מהוראה כנס חינוך משנה מציאות מכון מופ"ת המכללה ע"ש דוד ילין מיהו המורה הנושר? מאפיינים דמוגרפיים,תעסוקתיים ומוסדיים של הנשירה מהוראה ד"ר רינת ארביב-אלישיב ד"ר ורדה צימרמן 1 מבוא נשירת מורים היא תופעה חברתית המתרחבת

More information

פרק יעילות היעילות של קריטריון המקום עוסק בנושאים דומים לאלה של קריטריון הזמן. אנו נתרכז בחישובי היעילות של מדד הזמן.

פרק יעילות היעילות של קריטריון המקום עוסק בנושאים דומים לאלה של קריטריון הזמן. אנו נתרכז בחישובי היעילות של מדד הזמן. - 115-5 פרק יעילות יש יותר מדרך אחת לפצח אגוז. אפשר להניחו על הרצפה ולרקוע עליו, אפשר לפצחו בעזרת השיניים או להיעזר באגוז נוסף, ואפשר כמובן להשתמש במפצח אגוזים. בכל הדרכים נשיג את מטרתנו אגוז מפוצח. מבחינת

More information

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות תכנות בסביבת האינטרנט 1 כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות כפתור רדיו משמש למקרים שבהם יש לבחור באפשרות אחת מתוך רשימת האפשרויות שבקבוצה. למשל: שאלון רב-ברירות )שאלון אמריקאי( שבו יש רק תשובה אחת

More information

SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD

SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD Anatomy ofa l eader: them oshestory SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD FOR LESSONS IN LEADERSHIP ש מ ות EXODUS CHAPTER 2 א ו י ל ך א י ש, מ ב ית ל ו י; ו י ק ח, א ת-ב ת-ל

More information

2 יחידות לימוד הוראות לנבחן רשו ם "טיוטה" בראש כל עמוד טיוטה. רישום טיוטות כלשהן על דפים שמחוץ למחברת הבחינה עלול לגרום לפסילת הבחינה!

2 יחידות לימוד הוראות לנבחן רשו ם טיוטה בראש כל עמוד טיוטה. רישום טיוטות כלשהן על דפים שמחוץ למחברת הבחינה עלול לגרום לפסילת הבחינה! בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחנים חיצוניים ב. משרד החינוך קיץ תשע"ד, 2014 מועד הבחינה: 602 899222, מספר השאלון: מדעי המחשב 2 יחידות לימוד הוראות לנבחן משך הבחינה: שלוש

More information

תורת הקומפילציה

תורת הקומפילציה תורת הקומפילציה 236360 מועד א 15/08/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן שלוש

More information

מדריך לתכנת הגימפ Gimp) (The חלק מהמידע במדריך זה מובא מהקישור- http://www.jlc.org.il/forums/viewtopic.php?p=900&sid=d801ea3d13f7ae97549e28a56a4ce0cb GIMP היאתכנה חופשיתרבתאפשרויותבתחום הגראפיקהועריכתהתמונות,

More information

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of Name Page 1 of 6 ***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times.בל 'נ marked, using the contact info above by Sunday, December 25, 2016 and we ll send it

More information

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ תור,מחסנית פולינה לוצקר וערימה מבני נתונים ואלגוריתמים מנהלות מרצה הקורס: פרופסור יורם לוזון פולינה מתרגלת: לוצקר אימייל: polinalutbiu@gmail.com, שעות קבלה: 13:00-15:00 יום שני בתיאום מראש. אתר הקורס:

More information

יחידה ארגון המחשב ושפת סף: שאלות תרגול

יחידה ארגון המחשב ושפת סף: שאלות תרגול פרק א יחידה 711998 ארגון המחשב ושפת סף: שאלות תרגול 1. נתון המספר השלילי 0eah )בגודל בית(, בייצוג משלים ל- 2. איזה מהמספרים הבאים הוא ערכו בעשרוני? א. -21 ב. -22 ג. -22 ד. -222 2. נתון המספר השלילי 0edh

More information

קריאת גרפים. לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "קריאת גרפים" בשאלון 801 שבאתר 116

קריאת גרפים. לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל קריאת גרפים בשאלון 801 שבאתר  116 קריאת גרפים באתר "עגורים" מופיע סרטון המציג פתרון מלא לכל תרגיל מפרק זה. כנסו באתר לשאלון 801 לפרק "קריאת גרפים" ושם תוכלו למצוא את כל הסרטונים המציגים פתרון לתרגילי המאגר המופיעים בחוברת. בהצלחה!!! 116

More information

דיאגרמה לתיאור Classes

דיאגרמה לתיאור Classes 1 דיאגרמה לתיאור Classes הקדמה לדיאגרמת Classes כללים במתן שמות ל- Classes שאנו מתארים הרשאות גישה של מרכיבי ה- Class השונים משתנים (Attributes) שמוגדרים ב- Class משתנים סטטיים Attributes) (Static מתודות

More information

תרגול מס' 01 אלגוריתם דיניץ

תרגול מס' 01 אלגוריתם דיניץ , V תרגול מס' 01 אלגוריתם דיניץ הגדרה: רשת שכבות : תהי N רשת שיורית אשר קיים בה מסלול קצר ביותר מ- אל t באורך k. u V d ( u מכילה את הקודקודים 0 k ). E שכבה של רשת השכבות עבור. ( V, E d הוא המרחק המינימאלי

More information

TAKE ACTION. Unit1. Part A. Pre-Reading Before page 8. A Match each letter to the two letters that follow it in the alphabetical order.

TAKE ACTION. Unit1. Part A. Pre-Reading Before page 8. A Match each letter to the two letters that follow it in the alphabetical order. TAKE ACTION Unit1 Part A Pre-Reading Before page 8 A Match each letter to the two letters that follow it in the alphabetical order. התאימו כל אות לשתי האותיות שעוקבות אחריה בסדר ה- ABC. תוכלו להיעזר באותיות

More information

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית נושאים: מערכים, רשימות מרצה ומתרגלים אחראים: איתן בכמט, איסנה וקסלר, רז ניסים תאריך פרסום: 11.21 תאריך הגשה:

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים תנועה בעזרת קוד שעור 9 הישגיים 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00472000 G.F 2ND

More information